본문 바로가기
Java

조건문

by 코낄2 2024. 6. 9.

1. If 문

If 문특정 조건에 따라 코드 블록을 실행하거나 실행하지 않도록 제어하는 조건문입니다.

if (조건) {
    // 조건이 참일 때 실행할 코드 블록
}

 

조건. 만약 오후 2시 이전이라면 커피를 사먹는다.

조건. 만약 오후 2시가 넘었어도, 오전에 커피를 마시지 않았다면 커피를 마신다.

조건. 만약 오후 2시가 넘었고, 오전에 커피를 마셨다면 디카페인 커피를 마신다.

// 조건문 If
int hour = 10; // 오전 10시
boolean morningCoffee = false;
if (hour < 14) {
    System.out.println("아이스 아메리카노 +1");
    System.out.println("샷추가");
    morningCoffee = true;
}
System.out.println("커피 주문 완료");

// 오후 2시 이전, 모닝 커피를 마시지 않은 경우?
hour = 15;
//if (hour > 14 && morningCoffee == false){
if (hour > 14 && !morningCoffee){
    System.out.println("아이스 아메리카노 +1");
}
if (hour > 14 && morningCoffee) {
    System.out.println("디카페인 아메리카노 +1");
}

2. Else 문

else 문if 문의 조건이 만족되지 않을 때 실행될 코드를 정의합니다. if 문의 조건을 평가하고, 그 조건이 false일 경우 else 블록의 코드가 실행됩니다.

if (조건) {
    // 조건이 참일 때 실행될 코드
} else {
    // 조건이 거짓일 때 실행될 코드
}

 

조건. 오후 2시 이전이라면 커피를 주문한다. -> else. 디카페인 주문.

조건. 오후 2시가 넘고 모닝커피를 마셨다면 디카페인 주문. -> else. 커피 주문.

// 조건문 If Else
int hour = 10;
if (hour < 14){
    System.out.println("아이스 아메리카노 +1");
} else {
    System.out.println("디카페인 아메리카노 +1");
}
System.out.println("커피 주문 완료 #1");

hour = 15;
boolean morningCoffee = false;
if (hour > 14 || morningCoffee == true){
    System.out.println("디카페인 아메리카노 + 1");
} else {
    System.out.println("아이스 아메리카노 + 1");
}
System.out.println("커피 주문 완료 #2");

3. Else If 문

else if 문여러 조건을 연속적으로 검사할 때 사용됩니다. if 문과 else 문 사이에 위치하여, 첫 번째 조건이 만족되지 않을 경우 다음 조건을 검사합니다. 이를 통해 여러 조건을 단계별로 검사하고, 각 조건에 따라 다른 동작을 수행할 수 있습니다.

if (조건1) {
    // 조건1이 참일 때 실행될 코드
} else if (조건2) {
    // 조건2가 참일 때 실행될 코드
} else if (조건3) {
    // 조건3이 참일 때 실행될 코드
} else {
    // 위의 모든 조건이 거짓일 때 실행될 코드
}

 

조건. 한라봉 에이드가 있으면 한라봉 에이드 주문.

조건. 한라봉 에이드가 없고, 망고 주스가 있다면 망고 주스 주문.

조건. 한라봉 에이드도 없고, 망고 주스도 없다면, 커피 주문.

// 조건문 ElseIf
boolean hallabongAde = false; // 한라봉 에이드
boolean mangoJuice = true; // 망고 주스

if (hallabongAde) {
    System.out.println("한라봉 에이드 +1");
} else if (mangoJuice) {
    System.out.println("망고 주스 +1");
} else {
    System.out.println("아이스 아메리카노 + 1");
}
System.out.println("음료 주문 완료 #1");

// else if는 여러번 사용 가능
// else 는 없어도 동작 가능
mangoJuice = false; // 망고 주스
boolean orangeJuice = true; // 오렌지 주스

if (hallabongAde) {
    System.out.println("한라봉 에이드 +1");
} else if (mangoJuice) {
    System.out.println("망고 주스 +1");
} else if (orangeJuice) {
    System.out.println("오렌지 주스 +1");
}
System.out.println("음료 주문 완료 #2");

4. Switch case 문

switch 문은 하나의 변수 값을 여러 가지 경우에 따라 비교하고, 그에 따라 다른 코드를 실행하도록 하는 제어문입니다.

이는 때로 여러 if-else if 조건문을 대체할 수 있는 간결한 방법입니다.

switch (변수) {
    case 값1:
        // 값1과 변수의 값이 일치할 때 실행될 코드
        break;
    case 값2:
        // 값2와 변수의 값이 일치할 때 실행될 코드
        break;
    ...
    // 더 많은 case 블록들을 추가할 수 있음
    default:
        // 변수의 값이 어떤 case와도 일치하지 않을 때 실행될 코드
}

 

< 석차에 따른 장학금 지급 >
1등 : 전액 장학금
2등 : 반액 장학금
3등 : 반액 장학금
그 외 : 장학금 대상 아님

// Switch Case

int ranking = 2; // 1등

if (ranking == 1) {
    System.out.println("전액 장학금");
} else if (ranking == 2 || ranking == 3) {
    System.out.println("반액 장학금");
} else {
    System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료 #1");

// Switch Case 문을 이용
// if 문은 범위나 여러 조건을 검사해야 할 때,
// Switch 문은 명확한 값이 있을 때 사용

ranking = 4;
switch (ranking) {
    case 1:
        System.out.println("전액 장학금");
        break;
    case 2 : // break 가 없기 때문에 밑으로 넘어간다.
    case 3 :
        System.out.println("반액 장학금");
        break;
    default:
        System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료 #2");
참고.
If 문은 여러 조건이나 범위를 검사해야 할 때 사용하고
Switch 문명확한 값이 있을 때 사용한다.

 

Break 없는 Switch case 문.

// 중고 상품 등급에 따른 가격 책정하기.
int grade = 2;
int price = 7000; // 기본 가격
switch (grade){
    case 1:
        price += 1000;
    case 2:
        price += 1000;
    case 3:
        price += 1000;
        break;
}
System.out.println(grade + "등급 제품의 가격 : " + price + "원");
grade 가 1일 때는 case 1 -> 2 -> 3을 거쳐서 10000원.
grade 가 2일 때는 case 2 -> 3을 거쳐서 9000원.
grade 가 3일 때는 case 3을 거쳐서 8000원.

'Java' 카테고리의 다른 글

반복문  (0) 2024.06.17
String  (1) 2024.06.05
연산자  (0) 2024.06.05
출력,자료형,형변환  (0) 2024.06.01
윈도우에서 JDK / IDE 설치  (0) 2024.05.31