if문의 경우 조건식의 결과가 반드시 true
또는 false
이어야 하므로 비교연산자와 논리연산자로 구성된다.
if (조건식) {
수행문 1; // 조건식이 참일 경우 수행.
} else {
수행문 2; // 조건식이 거짓일 경우 수행.
}
// 조건연산자
(조건식) ? 결과1 : 결과2;
// 조건식이 참일경우 결과1, 거짓일 경우 결과2.
switch (조건) {
case 값1:
수행문1;
break;
case 값2:
수행문2;
break;
case 값3:
수행문3;
break;
default:
수행문4;
}
경우의 수가 많아지면 if-else
문 대신 switch
문으로 작성하는 것이 좋다.
switch
문은 변수를 입력 받아 미리 정해놓은 여러 값들과의 일치 여부를 판단해 switch
문 내의 control flow를 결정한다.
if else
문은 boolean의 결과 값을 내놓은 조건문에 따라 true, false에 해당하는 각각 두 개의 흐름(control flow)으로 갈라진다.
if else
문을 중첩되게 배치하면 두 개 이상의 control flow를 가질 수 있게 된다.
if else
문을 사용할 수 있는 모든 상황에 switch
문을 사용할 수 있는 것은 아니다. 하지만 모든 switch
문은 if else
문으로 대체될 수 있다.
즉, 하나의 변수를 입력받아 그 변수의 값에 따라 다른 흐름으로 이동할 수 있는 코드를 짜야할 때, switch
문과 if else
문 둘 다 사용될 수 있다.