조건문

황상익·2024년 3월 18일

Inflearn JAVA

목록 보기
4/61

if (if - else)
특정 조건에 따라서 코드 실행
특정 조건에 따라서 다른 코드를 실행하는 것을 조건문
조건문엔 if, switch문이 있다.

If
특정 조건이 참인지 확인, 조건이 참이면 특정 코드 블록을 실행

if (condition) {
 // 조건이 참일 때 실행되는 코드
}
public class If1 {
    public static void main(String[] args) {
        int age = 20;

        if (age >= 18){
            System.out.println("성인입니다");
        }

        if (age < 18){
            System.out.println("미성년자 입니다");
        }
    }
}

else문

사용하던 앞서 진행한 프로그램을 조금더 간결하게 변경 가능

public class If2 {
    public static void main(String[] args) {
        int age = 20;

        if (age >= 18){
            System.out.println("성인입니다");
        } else {
            System.out.println("미성년자 입니다");
        }
    }
}

If문 2 (else - if)

public class If3 {
    public static void main(String[] args) {
        int age = 14;

        if (age <= 7) {
            System.out.println("미취학");
        }

        if (age >= 8 && age <= 13) {
            System.out.println("초등학생");
        }

        if (age >= 14 && age <= 16) {
            System.out.println("중학생");
        }

        if (age >= 17 && age <= 19) {
            System.out.println("고등학생");
        }

        if (age >= 20) {
            System.out.println("성인");
        }
    }
}

단점이라면 조건을 만족해도 불필요한 검사가 지속된다. 그리고 코드가 반복되는 걸 볼 수 있다.
else if문을 사용하면 코드 반복성을 줄일 수 있다.

else - if

public class If4 {
    public static void main(String[] args) {
        int age = 14;

        if (age <= 7){
            System.out.println("미취학");
        } else if (age <= 13){
            System.out.println("초등학생");
        } else if (age <= 16){
            System.out.println("중학생");
        } else if (age <= 19){
            System.out.println("고등학생");
        } else {
            System.out.println("성인");
        }
    }
}

전체 if문을 하나로 묶는다고 보면 된다. 이렇게 하면 특정 조건이 만족하면 해당 코드를 실행하고 if 문 전체를 빠져나온다.

If문 3 (if문과 else if문)
if문에 else if를 함께 사용하는 것은 서로 연관조건일때
서로 독립된 조건이라면 else if를 사용하지 않고 if문을 각각 따로 사용

public class If5 {
    public static void main(String[] args) {
        int price = 10000;
        int age = 10;
        int discount = 0;

        if (price >= 10000){
            discount = discount + 1000;
            System.out.println("10000원 이상 구매, 1000원 할인 ");
        }

        if (age <= 10){
            discount = discount + 1000;
            System.out.println("어린이, 1000원 할인 ");
        }

        System.out.println("총 금액 할인 " + discount);
    }
}

조건이 서로 영향을 주지 않고 각각 수행해야 하는 경우 else if를 사용하면 안되고 대신 여러 if문을 분리 해서 사용

public class If6 {
    public static void main(String[] args) {
        int price = 10000;
        int age = 10;
        int discount = 0;

        if (price >= 10000) {
            discount = discount + 1000;
            System.out.println("10000원 이상 구매, 1000원 할인 ");
        } else if (age <= 10) {
            discount = discount + 1000;
            System.out.println("어린이, 1000원 할인 ");
        } else {
            System.out.println("할인 없음");
        }
        System.out.println("총 금액 할인 " + discount);
    }
}

둘 차이점을 비교하면 언제 else if를 써야 하고 if를 써야하는지 알수 있을 것이다

참고) if문 중괄호 생략
if문 다음에 실행할 명령어 하나만 있는 경우 {} 생략 가능
추천하는 방향은 아니다

profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글