if (조건식) {
수행문; // 조건식이 '참'인 경우에(조건이 맞는 경우) 수행문이 수행됨
} // 조건식이 '참' 이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음
if (조건식) {
수행문1; // 조건식이 '참'인 경우에 수행됨
}
else{
수행문2; // 조건식이 '참'이 아닌 경우에 수행됨
}
public class IfElseTest {
public static void main(String[] args){
int age = 8;
if (age < 8){
System.out.println("어린이입니다.");
}
System.out.println("어린이는 아닙니다.");
// 어린이는 아닙니다.
age = 6;
if (age < 8){
System.out.println("7살 이하의");
}
System.out.println("어린이 입니다");
// 7살이하의
// 어린이 입니다.
age = 14;
if (age > 14){
System.out.println("부모님 동의 없이 가입할 수 있습니다.");
}
else{
System.out.println(("부모님 동의가 필요합니다."));
}
// 부모님 동의가 필요합니다.
}
}
if (조건식) {
수행문1; // 조건식이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else if(조건식2){
수행문2; // 조건식이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else if(조건식3){
수행문3; // 조건식이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else{
수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
}
수행문5; // if-else if-else 문이 끝나면 수행됨
public class IfElseIfElseTest {
public static void main(String args[]) {
int age = 12;
int charge;
if (age < 8) {
charge = 1000;
System.out.println("8살 미만 아이입니다.");
}
else if(age < 14){
charge = 2000;
System.out.println("초등학생 입니다.");
}
else if (age < 19){
charge = 3000;
System.out.println("중고등학생 입니다.");
}
else{
charge = 3300;
System.out.println("성인 입니다");
}
System.out.println("요금은"+ charge+ "원입니다.");
// 결과: 초등학생입니다.
// 요금은 2000원 입니다.
}
}
파이썬에는 없는 문법이다.
if - else if -else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현
비교 조건이 특정 값이나 문자열인 경우 사용
break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
자바 14부터 좀 더 간결해진 표현식이 지원 됨 (break 사용하지 않음)
예제: 한 달이 며칠인 알려주는 프로그램
public class SwitchCaseTest {
public static void main(String[] args) {
int month = 12;
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 + "일입니다.");
}
}