티스토리 뷰
이전 장들...
이전 장에서는 if문이라는 조건문을 통해 프로그램이 모든 코드를 실행하는 것이 아닌, 조건에 맞는 코드만 실행할 수도 있다는 문법을 알아보았다. 이번 장에서도 동일한 역할이지만 문법이 약간 다른 switch ~ case ~ default문에 대해 알아보겠다.
Switch ~ Case 문?!
이 역시 if 문과 비슷하게 switch문, switch case문, switch ~ case ~ default문 등 여러 가지로 불리운다.
기본적인 역할은 전 장에서 설명하였으니, 바로 사용법에 대한 기본 형식을 보도록 하겠다.
이는 if문의 문법과 비슷하지만 약간은 다른 점이 있다.
- switch ( 괄호 ) 안에 조건을 비교할 대상을 찾는다. (만약 변수 a의 값을 비교하려면 괄호 안에 a를 적는다.)
- if문, else if문 대신 case 라는 문법을 사용한다. 만약 a의 값이 1이라면 case 1:이라고 쓰고, a의 값이 2라면 case 2: 라고 쓸 수 있다.
- else 문 대신 default:를 사용한다.
다음 예제를 통해 확인해 보자. 위 그림과 관련된 예제로 진행하겠다.
int n = 2;
switch(n) { case 1: System.out.println("값 = 1"); case 2: System.out.println("값 = 2"); case 3: System.out.println("값 = 3"); default: System.out.println("3 이상의 다른 값"); } |
위와 같이 작성할 수 있다. 어찌 보면 if문보다 약간 간단하다고 생각할 수 있는데, 의미는 if문과 완전히 같다.
그런데, switch 문에서는 하나 추가해 주어야 하는 문법이 있다. 바로 break라는 친구인데, 무엇일까?
break
switch문은 if문과 다르게, 만약 case 1의 조건이 일치하더라도 다른 case도 검토한다. 이는 if문의 프로세스(진행 방식)와 차이를 보이는데, 이럴 때 다름 case도 검토하지 못하도록 하는 것이 break문이다. 위 예제와 이어지는 다음 예제를 보자.
int n = 2;
switch(n) { case 1: System.out.println("값 = 1"); break; case 2: System.out.println("값 = 2"); break;case 3: System.out.println("값 = 3"); break;default: System.out.println("3 이상의 다른 값"); } |
위의 예제와 바뀐 것은, case 사이사이에 break문이 들어간 것 외에는 없다.
그렇다면 위의 예제의 출력값과 이번 예제의 출력값에는 차이가 있을까?
- 위의 예제의 출력값 :
- 이번 예제의 출력값 :
값이 다르다. 그 말은 프로세스가 다르다는 말이다. 이유는 역시 break 때문이다.
case 1의 조건은 맞지 않으니 건너뛰는 것이 맞다. 그런데 case 2의 조건이 맞다. 그러면 switch 문에서 컴퓨터는 case 2의 조건부터 아래 모든 조건이 맞는 것으로 판단한다. 따라서 break 문을 사용하여 조건에 맞는 프로세스만 실행하는 것이다.
다음 장에서는 '반복문'에 대해 다뤄 보겠다.
도움받은 책들 :
|
|
다음 장 바로가기 >>
'프로그래밍 > Java' 카테고리의 다른 글
11장. 실행 흐름의 컨트롤 - 반복문 (0) | 2018.07.31 |
---|---|
9장. 실행 흐름의 컨트롤 - if문, 삼항 연산자 (0) | 2018.07.30 |
8장. 연산자 (0) | 2018.07.27 |
7장. 형 변환 (0) | 2018.07.27 |
6장. 상수 (0) | 2018.07.27 |
- Total
- Today
- Yesterday
- dockerfile
- 스타트업
- EC2
- cmd
- 메터리얼
- 디자인
- 안드로이드
- 컨테이너
- 테라폼
- env
- Java
- Android
- Terraform
- 자격증명
- dockerhub
- 도커
- Operator
- docker
- AWS
- 자료형
- Container
- entrypoint
- main
- Material
- ecr
- 자바
- DESIGN
- 머티리얼
- HCL
- uiux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |