키보드워리어

【자바】switch문에 대해 알아보자 본문

JAVA/입문

【자바】switch문에 대해 알아보자

꽉 쥔 주먹속에 안경닦이 2022. 12. 29. 10:12
728x90

안녕하세요 여러분 오늘은 switch문에 대해 짧게 소개드리려고 합니다.

 

switch

 

switch의 특징은 가독성입니다. if, if-else문과 동일한 기능을 하지만 switch문을 이용하면 보기 편하다는 장점이 있습니다.

하지만 if문처럼 비교연산자가 들어가지는 않습니다.  비교 연산은 하지 못하지만 보기 편한 switch문의 예시부터 살펴볼게요.

 

 

switch문 예시
switch문 예시

default | break

 

switch문의 기본구성은 다음과 같습니다. 여기서 default는 아무런 케이스가 매치되지 않을 때 실행됩니다.

break란 switch문이 statements문이 성공적 으로 끝났을 때 switch문과 분리하기 위하여 실행합니다.

 

 

Fall - through

 

switch-fall-through는 break를 쓰지 않아서 생기는 문제로, break를 하지 않으면 부합하는 절 뒤에 따라오는 어딘가의 break까지의 문을 모두 실행하게 돼버립니다.

switch fall-through 예시
switch fall-through 예시

break문을 하지 않아서 console에 모두 실행됩니다.

 

switch fall-through 퀴즈 1
switch fall-through 퀴즈 1

break문 없기 때문에 2,3, default까지 모두 실행됩니다.

switch fall-through 퀴즈 2
switch fall-through 퀴즈 2

Case 2 구문에는 아무것도 없습니다. 이런 경우 fall through 현상이 발생합니다.

 

다음 case문의 코드가 실행되면서 case3의 값 number is 2 or 3가 출력됩니다.

사실 fall-through문을 써서 보여주는 게 가독성에는 좋을 때가 있어요.

 

 

항상 기억해야 하는 점은 코딩할 때에는 최대한 이해하기 쉽게 만들어야 한단 점입니다. 이해하기 쉽고 보기 편하고 읽기 편하다면 그것만큼 중요한 게 없습니다.

switch fall-through 퀴즈 3
switch fall-through 퀴즈 3

console값

default

 

해당하는 10의 값을 아무것도 받지 않기 때문에 default값 출력됩니다.

 

switch fall-through 퀴즈 4
switch fall-through 퀴즈 4

중첩(nested) if else문의 경우 매칭되는 조건이 없을 때 마지막 else코드가 실행되었습니다. 유일하게 마지막 조건 입력이 가능한 곳이었습니다만. switch문에서는 그렇지 않습니다. 첫 번째를 default값을 줄 수 있습니다. 실제로 default문에서 break문을 없앤다면 여기서는 case1로 가게 되는 거예요.

 

switch fall-through 퀴즈 5-6
switch fall-through 퀴즈 5-6

퀴즈 5번 설명 > string, enum, int, char, byte, short에서만 switch문 사용 가능합니다.

퀴즈 6번 설명 > 비교 연산자는 switch문에 사용 불가합니다.

 

728x90