☕️ 조건문

팔리동·2021년 8월 18일
0
post-thumbnail

if문

  • if문
if (조건식) {
    수행문;  // 조건식이 '참'인 경우에(조건이 맞는 경우) 수행문이 수행됨
}          // 조건식이 '참' 이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음
  • if-else문 문법
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문

  • 파이선의 elif문을 생각하면 쉬움
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 if 부분은 수행되지 않음
  • if - if로 사용하게 되면 다른 조건 문으로 해석되어 각각 수행하게 됨

switch-case문

  • 파이썬에는 없는 문법이다.

  • 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 + "일입니다.");
    }
}
  • default는 else문을 담당한다.
  • 각 케이스마다 break로 끊어줘야 한다. break를 사용해서 elif문 처럼 기능하게 한다.
  • break가 없으면 if문으로 작동한다.
profile
배움의 기록

0개의 댓글