본문 바로가기

개발/Java

[Java 03] 자바 조건문 (중첩 if문, switch문)

1. 중첩 if문

if문의 블록 내부에 또 다른 if문을 사용한 것을 중첩 if문이라고 합니다.

if(조건식1) {    // 조건식1이 true일 때 실행
    실행문1;

    if(조건식2)  {    // 조건식2가 true일 때 실행
        실행문2;
    } else {    // 조건식2가 false일 때 실행
        실행문3;
    }
} else {    // 조건식1이 false일 때 실행
    실행문4;
}

2. 중첩 if문 예제

public class practice {
  public static void main(String[] args) {

      int score = (int) (Math.random() * 20) + 81;
      System.out.println("점수 :" + score);

      String grade;

      if (score >= 90) {
          if (score > 95) {    // 중첩 if문
              grade = "A+";
          } else {
              grade = "A";
          }
      } else {
          if (score > 85) {    // 중첩 if문
              grade = "B+";
          } else {
              grade = "B";
          }
      }

      System.out.println("학점 :" + grade);
  }
}

실행 결과

점수 : 82점        //임의의 정수
학점 : B

3. switch문

switch문은 if문처럼 조건식이 true일 경우 블록을 실행하는 것이 아니라, 변수 값에 따라 실행문 선택됩니다.

switch(변수) {    
    case 값1 :        // 변수 = 값1일 경우 실행 
        break;

    case 값2 :        // 변수 = 값2일 경우 실행
        break;

    default :        // 변수가 값1, 값2 모두 아닐 경우 실행
}

4. switch문 예제

public class practice {
  public static void main(String[] args) {
      int num = (int) (Math.random() * 6) + 1;    // 주사위 번호 랜덤으로 뽑기

      switch (num) {
      case 1:
          System.out.println("1번이 나왔습니다.");
          break;
      case 2:
          System.out.println("2번이 나왔습니다.");
          break;
      case 3:
          System.out.println("3번이 나왔습니다.");
          break;
      case 4:
          System.out.println("4번이 나왔습니다.");
          break;
      case 5:
          System.out.println("5번이 나왔습니다.");
          break;
      case 6:
          System.out.println("6번이 나왔습니다.");
          break;
      }
  }
}

실행 결과

5번이 나왔습니다.

5. String 타입의 switch문 예제

public class practice {
  public static void main(String[] args) {
      String position = "부장"

      switch (position) {
      case "부장":
          System.out.println("700만원");
          break;
      case "과장":
          System.out.println("500만원");
          break;
      default :
          System.out.println("300만원");
      }
  }
}

실행 결과

700만원