조건문이란 제어문 중 하나로, 어떤 조건이 주어질 때 어떤 동작을 수행하도록 하는 문장이다.
if 문
if 문의 소괄호 안에는 boolean 값으로 평가될 수 있는 조건식을 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드를 작성한다. 중괄호({})를 이용해서 여러 문장을 하나로 묶을 수 있는데 이것을 '블록(block)'이라고 한다.
if (조건식) {
// 조건식이 참이라면 실행되는 블록이다.
}
위 코드와 같이 (조건식) 안에 들어가는 명제가 참이면 살행되고 거짓이면 실행되지 않는다.
else 문
else 문은 나머지 경우를 의미하며 if 문을 사용했을 때 그 뒤에 else 문을 사용할 수 있다. 만약 if 문의 조건식에 들어간 명제가 참이 아니면 else 블록이 실행된다. 참고로, else 문은 필요치 않으면 생략해도 된다.
if (조건식) {
// 조건식이 참이라면 실행되는 블록
}
else {
// 조건식이 참이 아닐 때 실행되는 블록
}
else if
if 문을 사용했을 때 그 뒤에 else if 문을 사용할 수 있다. 만약 if 문의 조건식이 true이면 해당 블록이 실행되고 조건식이 false인 경우에 다음으로 넘어가 else if 문의 조건식을 검사한다. 여기서 검사한 조건식도 false라면 else 블록이 실행된다.
if (조건식1) {
// 조건식1이 참이라면 실행되는 블록
}
else if (조건식2) {
// 조건식1이 참이 아니면서 조건식2가 참일 때 실행되는 블록
}
else {
// 조건식1과 2가 모두 참이 아닐 때 실행되는 블록
// 생략 가능
}
Switch 문
Switch 문은 if 문처럼 조건식이 참일 때 블록을 실행하는 것이 아니라 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다. if 문은 조건식의 결과가 true와 false 두 가지 밖에 없기 때문에 경우의 수가 많아질수록 코드가 복잡해지는데 switch 문은 변수의 값에 따라 실행문이 결정되기 때문에 같은 기능의 if 문보다 코드가 간결할 수도 있다.
switch (변수) {
case 값1 :
실행문;
break; // 다음 case를 실행하지 않고 switch 문을 벗어난다.
case 값2 :
실행문;
break;
default : // switch 문의 괄호 안 값과 동일한 값이 없으면 여기서 실행문을 실행한다.
실행문;
break;
}
Switch 문은 괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문을 실행한다. 그러나 동일한 값이 없다면 default로 가서 실행문을 실행한다. 여기서 default는 생략이 가능하다.
주의할 점은 위 코드처럼 break 문을 작성하지 않으면 switch 문을 탈출하지 않고 모든 case 문을 실행하게 되어 원하는 방식으로 동작하지 않을 수 있다. 이를 fall through라고 한다.
'개발 일지 > Java' 카테고리의 다른 글
[Java] 배열(array) (0) | 2022.12.26 |
---|---|
[Java] 반복문(Repetitive Statement) (0) | 2022.12.23 |
[Java] 콘솔 입출력(I/O) (0) | 2022.12.22 |
[Java] 연산자(Operator) (0) | 2022.12.22 |
[Java] 문자열(String) (0) | 2022.12.21 |