4장 조건문
Updated:
특정 조건에 따라서 다른 코드를 실행하는 것을 조건문이라 한다. 조건문에는 if문, switch문이 있다.
if문
if문
if문은 특정 조건이 참인지 확인하고, 그 조건이 참(true)일 경우 특정 코드 블록을 실행한다.
if (condition) {
// 조건이 참일 때 실행되는 코드
}
else문
else문은 if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.
if (condition) {
// 조건이 참일 때 실행되는 코드
}
else {
// 만족하는 조건이 없을 때 실행되는 코드
}
else if문
if문에 else if를 함께 사용하는 것은 서로 연관된 조건일 때 사용한다. 그런데 독립 조건이면 else if를 사용하지 않고 if문을 각각 따로 사용해야 한다.
// if-else 사용: 서로 연관된 조건이어서, 하나로 묶을 때
if (condition1) {
// 작업1 수행
} else if (condition2) {
// 작업2 수행
}
// if 각각 사용: 독립 조건일 때
if (condition1) {
// 작업1 수행
}
if (condition2) {
// 작업2 수행
}
if문에 여러 조건이 있다고 항상 if-else로 묶어서 사용할 수 있는 것은 이니다. 조건이 서로 영향을 주지 않고 각각 수행해야 하는 경우에는 else if문을 사용하면 안되고, 대신 여러 if문을 분리해서 사용해야 한다.
switch문
switch문은 if문을 조금 더 편리하게 사용할 수 있는 기능이다. 참고로 if문은 비교 연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교할 수 있다.
swich (조건식) {
case value1:
// 조건식의 결과 값이 value1일 때 실행되는 코드
break; // 현재 실행중인 코드를 끝내고 switch문을 빠져나가게 하는 역할, break문이 없으면 case: value2 실행
case value2:
// 조건식의 결과 값이 value2일 때 실행되는 코드
break;
default:
// 조건식의 결과 값이 위의 어떤 값에도 해당하지 않을 때 실행되는 코드
}
if문 vs switch 문
switch 문은 조건식이 특정 case와 같은지만 체크할 수 있다. 즉, 값이 같은지 확인하는 연산만 가능하다(문자도 가능). 반면에 if문은 참, 거짓의 결과가 나오는 조건식을 자유롭게 적을 수 있다.
정리하면 switch문 없이 if문만 사용해도 된다. 하지만 특정 값에 따라 코드를 실행할 때는 switch문을 사용하면 if문 보다 간결한 코드를 작성할 수 있다.
자바 14 새로운 switch 문
switch문은 if문 보다 조금 덜 복잡하느 것 같지만, 코드가 기대보다 깔끔하게 나오지는 않는다. 이러한 문제를 해결하고자 자바14부터는 새로운 swich문이 정식 도입되었다. 다음 코드를 보자.
package cond;
public class Switch4 {
public static void main(String[] args) {
int grade = 2;
int coupone = switch (grade) {
case 1 -> 1000;
case 2 -> 2000;
case 3 -> 3000;
default -> 500;
};
System.out.println("발급받은 쿠폰 " + coupone);
}
}
삼항 연산자
(조건) ? 참_표현식 : 거짓_표현식
삼항 연산자는 항이 3개라는 뜻이다. 조건, 참_표현식, 거짓_표현식 이렇게 항이 3개이다. 조건에 만족하면 참_표현식이 실행되고, 조건에 만족하지 않으면 거짓_표현식이 실행된다.
삼항 연산자 없이 if문만 사용해도 된다. 하지만 단순히 참과 거짓에 따라서 특정 값을 구하는 삼항 연산자를 사용하면 if문 보다 간결한 코드를 작성할 수 있다.
댓글남기기