Java - 조건문

수현·2022년 12월 9일

Java

목록 보기
16/23

if

if문

if(조건식) {
	수행문;
}

주어진 조건이 참일 경우 수행문 실행

if-else문

if(조건식) {
	수행문1;
}
else{
	수행문2;
}  //조건식이 거짓일 경우 else의 수행문 실행

else if문

조건이 여러 가지일 경우 사용

int age = 12;
int charge;

if(age < 8) {
	charge = 1000;
    System.out.println("미취학 아동입니다.")
}
else if(age < 14) {
	charge = 2000;
    System.out.println("초등학생입니다.")
}
else if(age < 20) {
	charge = 2500;
    System.out.println("중,고등학생입니다.")
}
else {
	charge = 3000;
    System.out.println("일반인입니다.")
}

System.out.println("입장료는 " + charge + "원 입니다.");

마지막 else문은 디폴트 값(아무 조건도 해당되지 않을 시



switch-case문

  • else if문 보다 가독성 좋게 구현 가능
  • 비교 조건이 특정 값이나 문자열인 경우 사용
  • break문을 사용하여 각 조건 만족 시 switch block을 빠져나오도록 함
    (자바 14부터 간결해진 표현식 지원으로 break 사용x)
switch(변수) {
	case 값1: 수행문1
    	break;
    case 값1: 수행문2
    	break;
        .
        .
        .
    default: 수행문
}

예제

int month = 10;
int day;

switch(month) {
	case 1: case 3; case 5: case 7: case 8: case 10: case 12:
    	day = 31;
        break;
    case 4: case 6: case 9: case 11:
    	day = 30;
        break;
    case 2:
    	day = 28:
        break;
    default:
    	day = 0;
        System.out.println("존재하지 않는 달입니다.")
}

System.out.println(month + "월은 " + day + "일입니다.");

같은 값을 가지는 조건은 옆에 같이 쓸 수 있음


자바14부터 지원되는 Switch Expression

  • 간단하게 쉼표로 조건 구분
  • 식으로 표현하여 반환값을 받을 수 있음(yield 키워드 사용)
  • 리턴값이 없는 경우 오류 발생
int month = 10;

int day = switch(month) {
	case 1,3,5,7,8,10,12 ->
    	31;
    case 4,6,9,11 ->
    	30;
    default -> {
    	System.out.println("존재하지 않는 달입니다.")
        yield 0;
    }
};  //int day~ 문장이 끝난다는 의미로 ;를 붙여야 함.

System.out.println(month + "월은 " + day + "일입니다.");

case안에 수행문이 2개 이상이라면 중괄호{}를 써야하며 리턴값에 yield라고 표시해줘야 함

profile
실패와 성장을 기록합니다 🎞️

0개의 댓글