if (조건식) {
//실행코드
}
if문의 소괄호 안에는 boolean 값으로 평가될 수 있는 조건식을 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드작성
if(조건식1) {
//조건식1이 참이라면, 실행되는 블록
}
else if (조건식2) {
//조건식1이 참이 아니면서 조건식2가 참일 때, 실행되는 블록
}
else {
//조건식1과 2가 모두 참이 아닐 때, 실행되는 블록입
//else문은 생략 가능
}
if문의 조건식이 true이면 해당 블록이 실행되고, 조건식이 false이면 다음으로 넘어가 else if 문의 조건식을 검사한다.
else if문의 모든 조건식이 false라면, 나머지 경우를 의미하는 else 블록이 실행된다.
switch문은 if문처럼 조건식이 true일 경우에 블록 내부의 실행문을 실행하는 것이 아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.
switch문은 괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문을 실행한다. 그러나 만약 괄호 안의 값과 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행한다.(default는 생략 가능)
switch (testValue) {
case "1":
System.out.println("1번");
break; //다음 case를 실행하지 않고, switch문 탈출!
case "2":
System.out.println("2번");
break;
case "3":
System.out.println("3번");
break;
case "4":
System.out.println("4번");
break;
case "5":
System.out.println("5번");
break;
case "6":
System.out.println("6번");
break;
default: //switch문의 괄호 안 값과 같은 값이 없으면, 여기서 실행문 실행
System.out.println("없는 숫자! " + testValue);
break;
}
위의 예시 코드에서는 num의 값과 case의 번호가 같으면 해당 case안의 실행문을 실행하고 실행이 완료되면 break를 통해서 switch문을 탈출한다.
만약, break문을 작성하지 않으면 switch문을 탈출하지 않고 모든 case문을 실행하게 된다. (fall through).
switch문에는 int,char,String 타입변수 모두 가능하다.
switch (Position) {
case "Senior" -> System.out.println("600만원");
case "Junior", "Manager" -> System.out.println("400만원");
}