JavaLanguage

JAVA 조건문 if, switch

ifswitch는 어떤 조건에 대하여 실행해야 할 구문을 나눌때 사용한다. ifswitch가 어떻게 다른지에 대하여 알아 보도록 하자.

if

  • if 문은 if, if-else, if-else if 세가지 형태가 있다.
  • if는 아래와 같은 형태로 사용된다.
    if(조건식) {
      //조건식의 결과가 true 일 경우 실행 문장
    }
      
    if(조건식) {
        //조건식의 결과가 true 일 경우 실행 문장
    } else {
        //조건식의 결과가 false 일 경우 실행 문장
    }
      
    if(조건식1) {
        //조건식1의 결과가 true일 경우 실행 문장
    } else if(조건식2) {
        //조건식1의 결과가 false 이고, 조건식2의 결과가 true일 경우의 실행 문장
    } else {
        //조건식1과 조건식2의 결과가 모두 false 일 경우의 실행 문장
    }
    

if 예제

int i = 90;
if(i < 100) {
    System.out.println(i + "는 100보다 작다");
}
//결과: 90는 100보다 작다

int i = 10;
if(i % 2 == 0) {
    System.out.println(i + "는 짝수이다.");
} else {
    System.out.println(i + "는 홀수이다.");
}
//결과: 10는 짝수이다.

int i = 8;
if(i > 9) {
    System.out.println(i + "는 9보다 크다");
} else if(i > 8) {
    System.out.println(i + "는 8보다 크다");
} else {
    System.out.println(i + "는 8보다 작거나 같다");
}
//결과 : 8는 8보다 작거나 같다

switch

  • switch문은 case문과 같이 사용된다.
  • 기본 구조는 아래와 같다.

    switch(조건식) {
      case 값1 :
          //조건식의 결과가 값1과 같으면 실행 되는 문장 break; 를 만날 때까지 실행된다.
          break;
      case 값2 :
          //조건식이 결과가 값2와 같으면 실행 된ㄴ 문장 break; 를 만날 때까지 실행된다.
          break;
      .
      .
      .
      default : (생략가능)
          //조건식의 결과와 일치하는 case 문이 없을 경우 실행된다. break;를 넣지 않아도 된다.
    }
    
  • switch 문의 조건식의 계산결과는 int 범위 이하의 정수만 가능하며 변수를 줄 수 없다.
  • 값과 상수만 가능하다.
  • 조건식의 계산결과와 일치하는 case문에서 부터 실행하여 break;를 만날때까지 실행된다.
  • case 문에서 종료를 알리는 break;를 삽입하지 않을 경우 해당 case문에서 부터 종료 } 가 나올 때까지 모두 실행 된다.
  • default 문은 생략이 가능하다.

switch 예제

int i = 5;
switch(i) {
    case 10 :
    case 9 :
        System.out.println("A등급");
        break;
    case 8 :
    case 7 :
        System.out.println("B등급");
        break;
    case 5 :
    case 6 :
        System.out.println("C등급");
        break;
    case 4 :
        System.out.println("D등급");
        break;
    default :
        System.out.println("F등급");
}
//결과: C등급