개발일지

조건문 본문

Java/Java 개념 설명

조건문

딸기아사이레모네이드리프레셔 2023. 3. 8. 16:02
728x90

01. If문

(1) if문

if(조건식) { 
	 조건식이 참(true)일 때 수행될 문장
}

 

(2) if-else

if(조건식){
	조건식의 결과가 참일때 실행하고자 하는 문장;
} else {
	조건식의 결과가 거짓일 때 실행하고자 하는 문장;
}

 

(3) if - else if - else

if (조건식1) { 
          조건식1의 결과가 참일 때 실행하고자 하는 문장;          
} else if (조건식2) { 
          조건식2의 결과가 참일 때 실행하고자 하는 문장;          
} else {
          조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 문장;
             (즉, 위의 어느 조건식에도 만족하지 않을 때 수행) 
}

 

(4) 중첩 if

if (조건식1) { 
         조건식1의 결과가 참일 때 실행하고자 하는 문장;
          if (조건식2) { 
                   조건식1 과 조건식 2의 결과가 모두 참일 때 실행하고자 하는 문장;
           } else { 
                    조건식1의 결과가 참이고, 조건식2의 결과가 거짓일 때 실행하고자 하는 문장;
            }
} else { 
          조건식1의 결과가 거짓일 때 실행하고자 하는 문장;
}

(4-1 중첩 if문 예시)

public class Ex3_1 {
    public static void main(String[] args) {
        int score = 87;

        if (score >= 90) {
            if (score >= 95) {
                System.out.println("A++등급입니다.");
            } else {
                System.out.println("A등급입니다.");
            }
        } else if (score >= 80) {
            if (score >= 85) {
                System.out.println("B++등급입니다.");
            } else {
                System.out.println("B등급입니다.");
            }
        } else if (score >= 70) {
            if (score >= 75) {
                System.out.println("C++등급입니다.");
            } else {
                System.out.println("C등급입니다.");
            }
        } else {
            System.out.println("D등급입니다.");
        }
    }
}

---------------------------------------------------------
(결과)
B++등급입니다.

02.  Switch문

(1) switch문 

  • 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고, 표현도 간결하기에 알아보기 쉬움
    따라서, 처리할 경우의 수가 많은 경우에는 if문보다 switch문으로 작성하는 것이 좋음
    (다만, switch문은 제약 조건이 있기 때문에, 경우의 수가 많아도 어쩔 수 없이 if문으로 작성해야 하는 경우가 있음)
  • if 조건문과 비교해보면 if는 조건식 결과에 true/false만,  switch는 정수나 문자열만 가능하며 case문의 값은 정수, 상수(문자포함), 문자열만 가능하며 중복되지 않아야 함 
  • 조건식의 결과와 일치하는 case문이 하나도 없는 경우에는 default문으로 이동하며, 보통 마지막에 놓기에 break문을 쓰지 않아도 됨
  • case 문은 한 줄에 하나씩 쓰던, 한줄에 붙여서 쓰던 상관 없음 (예제에서 확인 가능)

(2) switch문 사용 방법

switch (조건식) { 
          case 값1: 
                      조건식의 결과가 값1과 같을 경우 수행할 문장; 
                      break;
          case 값2: 
                      조건식의 결과가 값2와 같을 경우 수행할 문장; 
                      break; 
            ....  

           default:  
                       조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장; 
}

① 조건식 계산

② 조건식의 결과와 일치하는 case문으로 이동

③ 이후의 문장들을 수행

④ break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나감(break;를 작성해주지 않으면 switch문 끝까지 실행됨

 

(3) Switch문 제약 조건 예

import java.util.Scanner;

public class Ex3_2_Switch {
    public static void main(String[] args) {
        System.out.println("현재 월을 입력하세요.>");

        Scanner sc = new Scanner(System.in);
        int month = sc.nextInt();

        switch (month) {
            case 3:
            case 4:
            case 5:
                System.out.println("현재의 계절은 봄입니다.");
                break;
            case 6 : case 7: case 8:
                System.out.println("현재의 계절은 여름입니다.");
                break;
            case 9: case 10: case 11:
                System.out.println("현재의 계절은 가을입니다.");
                break;
            case 12: case 1: case 2:
                System.out.println("현재의 계절은 겨울입니다.");
        }
    }
}

------------------------------------------------------------------------
(결과)
현재 월을 입력하세요.>
12
현재의 계절은 겨울입니다.

 

 

 

728x90
Comments