Java

[JAVA] 자바 - 조건문 (if문, switch문)

Seong-Jun 2021. 11. 18. 10:47
728x90
반응형
SMALL

조건문이란?

조건문은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문입니다.

 

If문

if 문은 조건식의 결과가 참(true)이면 주어진 명령문을 실행하며, 거짓(false)이면 아무것도 실행하지 않습니다.

if(조건식1) {
	// 조건식이 참일 때 실행
    	// 거짓일 경우 실행하지 않습니다.
}

 

if / else문

if (조건식) {
	// 조건식이 참일 때 실행
}
else {
	// 조건식이 거짓일 때 실행
}

 

if / else-if / else문

if (조건식1) {
	// 조건식이 참일 때 실행
}
else if (조건식2) {
	// if문의 조건식이 거짓일 경우 else if문의 조건식이 참이라면 실행
}
else {
	// 모든 조건식이 거짓일 때 실행
}

 

switch문

  • if-else if-else문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현합니다.
  • 비교 조건이 특정 값이나 문자열인 경우 사용합니다.
  • swich 문의 조건 값으로 byte형, short형, char형, int형의 변수나 리터럴을 사용할 수 있습니다.
  • Byte, Short, Character, Integer 클래스의 객체도 사용할 수 있습니다.
  • enum 키워드를 사용한 열거체와 String 클래스의 객체도 사용할 수 있습니다.
  • 자바 14부터는 break문을 사용하지 않고 좀 더 간결해진 표현식 지원합니다.
  • 자바 14부터는 yield를 사용할 수 있습니다.
  • break키워드가 없는 case 절은 모두 실행됩니다.
  • default절에서는 반드시 break키워드를 포함해야 합니다. 
switch (조건 값) {

    case 값1:
        // 조건 값이 값1일 때 실행
        break;
        
    case 값2:
        // 조건 값이 값2일 때 실행
        break;
        
    ...

    default:
        // 조건 값이 어떠한 case 절에도 해당하지 않을 때 실행
        break;
}
switch (i) {

    case 1:

    case 2:

    case 3:

    case 4:

    case 5:
        System.out.println("5보다 작거나 같습니다.");
        break;

    case 6:

    case 7:

    case 8:

    case 9:

    case 10:
        System.out.println("10보다 작거나 같습니다.");
        break;

    default:
        System.out.println("1~10 이내의 숫자가 아닙니다.");
        break;

}

 

자바 14부터 지원되는 switch 표현

int month = 3;
		
int day = switch (month) {
case 1, 3, 5, 7, 8, 10, 12 -> {
  System.out.println("한 달은 31일 입니다.");
  yield 31;
}
case 4, 6, 9, 11 -> {
  System.out.println("한 달은 30일 입니다.");
  yield 30;
}
case 2 -> {
  System.out.println("한 달은 28일 혹은 29일 입니다.");
  yield 31;
}
default -> {
  System.out.println("존재하지 않는 달 입니다.");
  yield 0;
}
};
System.out.println(month + "월은" + day + "일 입니다.");
728x90
반응형
LIST