Practice makes perfect

[JAVA] 조건문(If , Switch) 본문

빅데이터/JAVA

[JAVA] 조건문(If , Switch)

kerpect 2020. 4. 22. 21:14
728x90
반응형
SMALL

if 문  : 특정 조건이 만족될 때에만 실행하는 문장 입니다. 

 

- 괄호 안에는 boolean 값만 올 수 있습니다.

 
- 괄호안에 true 값이 오면 조건을 계산하고(실행 O) ,false 가 나오면 조건들을 건너뛰게 된됩니다.(실행 X).


- 괄호안에 true or false 직접적으로 넣지 않고  비교연산자 또는 논리연산자를 넣어서 변수의 값을 컴퓨터가 계산하게

  합니다. (결과 값 : boolean)

 

 

● if문

public class IfBasic { 
	public static void main(String[] args) {
		int num1 = 47 , num2 = 38; // 변수 선언 및 초기화
		int result = 0;
		
		result  = (num1 * num1 * num2 * num2) / (num1 - num2);
		
		if (result>50000) {
			System.out.println("실행 결과 값이 50000 이상입니다." );
			System.out.println("결과값:"+result);
			System.out. println("결과 값 출력 후 프로그램 종료...");
			
	    result>50000 값이 true 가 나오면 뒤의 조건을 수행한다

 

 

● if 문과 else

 

if 문에서 true이 나왔을 때, if 문의 조건을 수행하고, false가 나왔을 때, else 문을 수행합니다.  

package 조건문;

public class 조건문{
	public static void main(String[] args) {
        int num = 39; 
		 
		if(num % 2 == 0) { 
			System.out.println("값은 짝수입니다.");  // true 일때, 조건 수행
		}else { 
			System.out.println("값은 홀수입니다.");	// false 일때, 조건 수행
		}
		System.out.println("프로그램을 종료합니다.");  

 % 앞에 값을 뒤에서 나눈다음 나머지를 출력해준다는 뜻과 정수일 때만 의미가 있습니다.
num % 2 == 0 의 의미는 2배수 즉 짝수를 의미하며,  나머지가 1이 나올때 홀수 의미합니다.

 

 

● if 문과 else 심화

package 조건문;

public class 조건문 {  
	public static void main(String[] args) {
		
		int birth = 1992; int age = 0; 
		age = 2020 - birth + 1;
		
		System.out.println("당신의 나이는"+age+"살 이군요.");
		
		if(age < 10) { 
			System.out.println("10대 미만입니다.");
		}else {  // age >= 10
			
			if(age < 20) { // 10<= age < 20
				System.out.println("10대 입니다.");	
			}else { // age >= 20 
            
				if(age < 30) { // 20<= age <30
					System.out.println("20대 입니다.");	
				}else {
					System.out.println("30대 이상입니다.");	

 

위의 식을 가독성이 좋게 편집하보겠습니다. ( else if의 형태로 편집)

  if(age < 10){ 
    System.out.println("10대 미만입니다."); 
  }else if(age < 20){  // 10<= age < 20
      System.out.println("10대 입니다."); 
  }else if(age < 30){ // 20<= age <30
      System.out.println("20대 입니다."); 
  }else {System.out.println("30대 이상입니다.");

 

 

● 삼항 연산자/조건연산자(? : - 피연산자가 3개 )

 

- ? 앞에는 boolean 의 값만 올 수 있습니다.

- 직접적으로 true ,false 를 넣는 것이 아닌 비교연산자, 논리연산자를 넣습니다. 
- true의 값 조건 : false의 값 조건을 수행 합니다.
- 간단한 형태의 결과를 빠르게 받아보고 싶을 때 사용합니다.

 

public class CondOp {
	public static void main(String[] args) {
		int num1 = 50, num2 = 100;
		int big = 0, diff = 0;
        
        big = (num1 > num2)? num1:num2 ;
		diff = (num1 > num2)?num1 - num2:num2 - num1; 
		System.out.println("큰 값:"+big+", 두 값의 차:"+diff); 
        // 출력 값 : 큰 값:100, 두 값의 차:50
		

 

 

switch 문 : 조건에 따라서 실행시킬 코드를 구분 합니다. 

 

- num의 경우의 수를 case문 안에 명시합니다. 조건을 체크해서 경우의 수에 맞추어 정의해서 사용합니다.


- case , break 와 항상 함께 사용합니다. break의 의미는 수 일치 문을 벗어남을 말합니다.

 

- break; 를 넣지 않으면 맞는 조건 이후의 조건들을 모두 수행해서 출력해줍니다.


- default 값은 넣어도 되고 넣지 않아도 문제가 되지 않습니다.

 

 

● switch문

switch(num) {
		    case 1:
		    	System.out.println("정수의 값은 1이에요.");
		    	System.out.println("Good Morning, Java!");
		    	break;
		  
		    case 2:
		    	System.out.println("정수의 값은 2이에요.");
		    	System.out.println("Good Afternoon, Java!");
		    	break; 
		    
		    case 3:
		    	System.out.println("정수의 값은 3이에요.");
		    	System.out.println("Good Evening, Java!");
		    	break;
		    	
		    default:
		    	System.out.println("정수의 값은 1~3이외의 값이에요.");
		    	System.out.println("Hello, Java!");
		    	break;

 

 

 ● switch 문 간략하게 정리하기 / 7번전 이후 문자 입력이 가능해졌다.

		
        String name1 = "세종대왕";
		
		switch(name1) { 
		case "김유신": case "홍길동": case "세종대왕": // 중복되는 값이므로 가능
			System.out.println("제 이름은 "+name1+" 입니다.");
			break;
		default:
			System.out.println("이름을 알 수 없습니다.");
			break;

 

 // num의 경우의 수를  case문 안에 명시한다. 조건을 체크해서 경우의 수에 맞추어 정의해서 사용하는 것이다.
  // case , break 와 항상 함께 사용된다. break의 의미는 수 일치 문을 벗어나라는 것이다.
  // break; 를 넣지 않으면 맞는 조건 이후의 조건들을 모두 수행해서 출력해준다.
  // default 값은 넣어도 되고 넣지 않아도 문제가 되지 않는다.

 

 

 

● switch문

  // 위의 swich문 간략하게 편집하기
  

  // 위의 swich문 간략하게 편집하기
  
728x90
반응형
LIST

'빅데이터 > JAVA' 카테고리의 다른 글

[JAVA] METHOD  (0) 2020.04.25
[JAVA] 반복문(While문, Do While문, For문)  (0) 2020.04.25
[JAVA] 자료형변환(Type Casting)  (0) 2020.04.22
[JAVA] 연산자 (Operator)  (0) 2020.04.21
[JAVA] 상수(literal)  (0) 2020.04.21