(Java) 05. 조건문 if / if ~ else / else if

조건에 따라 소스 코드를 실행할지 여부를 결정하는 명령문을 제어문이라고 합니다.

제어문에는 조건문과 루프문이 있습니다.

조건문은 조건에 따라 실행 여부를 결정하고 루프문은 조건에 따라 반복 여부를 결정합니다.

조건문 if 문, if ~ else 문, if ~ else if 문, switch ~ case 문있다


01) 조건문 IF

: 결과 값이 참 또는 거짓인 조건식을 지정한 후 조건식이 참일 때 실행할 문장과 조건식이 거짓일 때 실행할 문장을 지정합니다.

//조건문 If

/*
실행문;
if(조건식)
{
실행문2; = 참일 때 실행. 
}
실행문3; = 거짓일 때 실행.
*/

– 괄호 안의 조건 블록 {}의 소스는 참인 경우에만 실행됩니다.

하다.

– 소스 코드가 {} 블록 안에 한 줄이면 중괄호를 생략할 수 있습니다.

(if 문의 예)

int hour = 15;
if (hour < 14){
System.out.println("아이스 아메리카노 +1");
System.out.println("샷추가");
}
System.out.println("커피 주문 완료");

//오후 2시이거나 모닝 커피를 마신경우? 디카페인을 주문하고 싶다!
hour = 15; morningCoffee = true; if(hour >= 14 || morningCoffee == true){ System.out.println("디카페인 아이스 +1"); } System.out.println("커피 주문 완료!
");

02) 조건문 If ~ else

: 조건이 참인 경우 뿐만 아니라 거짓인 경우도 고려합니다.

//조건문 if ~ else 문
//if문과 다르게 참과 거짓을 모두 고려함.
//조건이 참일 때 뿐만 아니라, 거짓일 때 실행될 명령문도 함께 작성.
/*
if(조건식){
실행문1 = 참이면 바로 실행
}else {
실행문2 = 1이 아니라면 실행
}
실행문3 
*/

– 조건이 참이든 거짓이든 둘 중 하나만 무조건 실행한다.

삼항 연산자로 표현할 수도 있습니다.

(if ~ else 문의 예시)

//오후 2시 이거나 이미 커피를 마신 경우 디카페인으로 주문
hour = 15;
boolean morningCoffee = true;
if (hour >= 14 || morningCoffee == false) {
System.out.println("디카페인 아이스로 주세요!
"); }else { System.out.println("아이스 아메리카노로 주세요!
"); } System.out.println("감사합니다~!
");

03) 조건문 If ~ else if

: if 문의 조건식이 거짓이면 else ~ if 문에 조건식을 다시 지정하여 참과 거짓으로 실행 흐름을 나눕니다.

//조건문 Else If문
//a 있으면 a , 없으면 b, 그것도 없으면 c ......
//조건식을 여러개 지정 가능.
//첫번째 참 값 우선 출력.

/*
if(조건문){
실행문1
}else {
실행문2
}else if{
실행문3
}
실행문4
*/

– 첫 번째 조건이 참인 경우: if 블록 실행

– 첫 번째 조건이 거짓이고 두 번째 조건이 참인 경우: 차단하면 다른 작업 수행

– 첫 번째 조건과 두 번째 조건이 모두 거짓인 경우: Else 블록 실행

(if ~ else if 예시)

boolean cowMeat = false;
boolean pigMeat = false;
boolean sushi = false;

if(cowMeat) {System.out.println("소고기 주세요!
"); } else if (pigMeat) { System.out.println("돼지고기 주세요!
"); } else if (sushi) { System.out.println("초밥 주세요!
"); } else{ System.out.println("나중에 올게요!
"); }