본문 바로가기
Java

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

by Seong-Jun 2021. 11. 18.
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

댓글