다라다라V
article thumbnail
728x90
반응형

if문 - if, else

if 문

  • 특정 조건이 참인지 확인하고, 조건이 참인 경우에만 특정 블록 실행

else 문

  • if 문에서 만족하는 조건이 없을 때 실행하는 코드를 제공

if문 - else if

  • if문으로 모두 적는 경우
    • 불필요한 조건을 계속 검사함
    • 중복 체크로 인하여 코드의 효율성이 떨어진다

else if 문

package cond;

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문을 하나로 묶는 것
  • 순서대로 맞는 조건을 찾고 맞는 조건이 있으면 하나만 실행되는 것이 포인트

if문 - if 문과 else if 문

  • if 문을 각각 사용할지, if 와 else if 를 함께 묶어서 사용할지는 요구사항에 따라 다름
package cond;

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

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

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

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

  • if 문에 else if 를 함께 사용하는 것은 서로 연관된조건일때만
  • 서로 관련이 없는 독립조건이면 else if 를 사용하지 않고 if 문을 각각 따로 사용

if 문 중괄호 생략

        if (true)
            System.out.println("if문이 실행 됨");
  • 명령이 하나 뿐이라면 중괄호를 생략할 수 있다.
  • 그러나 최대한 중괄호를 사용하는 것이 권장됨
    • 가독성
    • 유지보수성

switch문

  • if 문을 조금 더 편리하게 사용할 수 있는 기능
  • if문은 비교 연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교함
package cond;

public class Switch2 {
    public static void main(String[] args) {
        int grade = 2;
        
        int coupon;
        switch (grade) {
            case 1:
                coupon = 1000;
                break;
            case 2:
                coupon = 2000;
                break;
            case 3:
                coupon = 3000;
                break;
            default:
                coupon = 500;
        }
        System.out.println("발급받은 쿠폰 " + coupon);
    }
}

  • break문을 만나면 코드를 끝내고 switch문을 빠져나옴
    • **break문이 없으면 case 코드들이 모두 순서대로 실행됨**
  • **default 문은 case의 모든 값과 일치하지 않는 경우 실행**
    • 선택 사항

break 문이 없는 경우

package cond;

public class Switch3 {
    public static void main(String[] args) {
        int grade = 2;

        int coupon;
        switch (grade) {
            case 1:
                coupon = 1000;
                break;
            case 2:
            case 3:
                coupon = 3000;
                break;
            default:
                coupon = 500;
        }
        System.out.println("발급받은 쿠폰 " + coupon);
    }
}

  • break문이 없는 경우 이후가 실행
  • 경우가 두가지인 경우 의도적으로 만들 수 있음

자바14 새로운 switch문

package cond;

public class Switch4 {
    public static void main(String[] args) {
        int grade = 2;

        int coupon = switch (grade) {
            case 1 -> 1000;
            case 2 -> 2000;
            case 3 -> 3000;
            default -> 500;
        };
        System.out.println("발급받은 쿠폰 " + coupon);
    }
}

  • → 을 사용해서 값을 지정
  • 선택된 데이터를 반환

삼항 연산자

**(조건) ? 참_표현식 : 거짓_표현식**

package cond;

public class CondOp2 {
    public static void main(String[] args) {
        int age = 18;
        String status = (age >= 18 ? "성인" : "미성년자");
        System.out.println("age = " + age + ", status = " + status);
    }
}

  • 단순히 참과 거짓에 따라 특정 값을 구하는 경우 **삼항연산자(조건 연산자)**를 사용
    • ? : 연산자 사용
  • 자바에서 유일하게 항이 3개라 삼항연산자라고도 불림
  • if 문만 사용해도 되긴 함
반응형

'코딩언어 > [인프런] JAVA 입문' 카테고리의 다른 글

6. 스코프, 항 변환  (0) 2024.05.12
5. 반복문  (0) 2024.05.12
3. 연산자  (0) 2024.05.01
2. 변수  (0) 2024.04.28
1. Hello World  (0) 2024.04.28
profile

다라다라V

@DaraDaraV

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!