비전공자의 개발과 친해지기/조건, 선택문

[JAVA : 조건/선택문]3. switch 문

justdoIT0730 2022. 4. 8. 12:52
728x90
728x90

 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 부분까지 함께 출력되게 됩니다.

 

728x90
728x90