조건에 따라 소스 코드를 실행할지 여부를 결정하는 명령문을 제어문이라고 합니다.
제어문에는 조건문과 루프문이 있습니다.
조건문은 조건에 따라 실행 여부를 결정하고 루프문은 조건에 따라 반복 여부를 결정합니다.
조건문 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("나중에 올게요!
");
}