if 문

if문의 경우 조건식의 결과가 반드시 true또는 false이어야 하므로 비교연산자와 논리연산자로 구성된다.

if (조건식) {
  수행문 1;   // 조건식이 참일 경우 수행.
} else {
  수행문 2;   // 조건식이 거짓일 경우 수행.
}
// 조건연산자
(조건식) ? 결과1 : 결과2;
// 조건식이 참일경우 결과1, 거짓일 경우 결과2.

switch문

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문 둘 다 사용될 수 있다.