switch 문은 if 문처럼 조건에 의해 소스코드를 실행하거나 혹은 실행되지 않도록 만들어 줄 수 있는 문법입니다. 비슷한 기능을 수행하지만 각 문법 사이의 장단점이 존재하므로 상황에 따라 적절한 문법을 사용해야 합니다.
switch 문은 if 문과 다르게 int형 조건을 기본으로 가집니다. char 형도 int 형으로 표현할 수 있기에 char 형 또한 가능합니다.
switch 문은 case 문과 default 문으로 구성되어 있습니다.
1. case 문
shitch 문 내에서 여러 번 사용할 수 있습니다. case 문 뒤에는 switch의 조건을 만족하는 숫자를 적고 콜론( : )을 적어줍니다. 만약 case 문의 숫자가 switch 문의 조건을 만족하는 숫자인 경우, 해당하는 case 문부터 break; 명령을 만날 때까지 프로그램이 실행됩니다.
break 문은 switch 문 혹은 반복문을 탈출하는 문법입니다.
2. default 문
case 문에 만족하는 조건이 없을 시 동작하는 부분으로 필요하지 않다면 생략할 수 있습니다. 하지만 사용하게 된다면
하나의 switch 문 안에 default 문은 단 하나만 사용할 수 있습니다.
import java.io.*;
class Main {
public static void main(String[] args) {
int a = 1;
switch(a) {
case 1:
System.out.println("a == 1");
break;
case 2:
System.out.println("a == 2");
default:
System.out.println("a == ?");
break;
}
}
}
위 소스코드를 한 줄씩 살펴보겠습니다. a에 1이 초기화되었기 때문에 6번째 줄의 switch(a)가 실행된 뒤 7번째 줄 case를 만족하게 됩니다. 9번째 줄에 break; 문이 존재하므로 8번째 줄에 있는 출력만 실행되고 switch 문을 빠져나갑니다.
그렇다면 이번에는 a의 값을 2로 바꾸어보면 어떻게 될까요? 그러면 case 1 이 실행되지 않고 case 2 가 실행됩니다. 그런데 case 2의 경우 break; 문이 포함되어 있지 않기 때문에 default 부분까지 함께 출력되게 됩니다.
'비전공자의 개발과 친해지기 > 조건, 선택문' 카테고리의 다른 글
[JAVA : 조건/선택문]2. else / else if문 (0) | 2022.04.08 |
---|---|
[JAVA : 조건/선택문]1. If 문 (0) | 2022.04.08 |