Day04 - Switch (스위치문)

2021. 2. 19. 00:21JAVA 공부

Switch ( 스위치문 )

이번에는 Switch문에 대해 알아 봅시다 ~

Switch 문은 if문이랑 80% 정도 유사 합니다

 

일단 형태를 한번 볼까요?

 

Switch ( 값 또는 문자, 문자열 )

{

case 값1:

break;

 

case 값2:

break;

 

default:

break;

}

 

이렇게 형태만 보면 무슨 말인지 모르겠죠

그러면 어떻게 쓰는지 한번 볼까요?

위 사진을 한번 봐주세요

Switch 옆에 있는 소괄호() 안에는 변수 또는 변수에 대한 연산식이 들어갑니다.

여기서 int형 변수 a 가 들어가 있고, a는 1이죠.

그러면 case 1: 에 해당하는 구문을 실행하게 됩니다.

※break; 는 가장 가까운 중괄호를 빠져나갑니다. 

이렇게 case 1: 에 해당하는 구문을 실행한 것을 확인 할 수 있죠

자 그러면 break 가 왜 필요한지 볼게요

break;를 지웠습니다. 여기서도 a는 1이죠. 그러면 어떻게 되는지 확인해 볼까요 ?

아까와는 다르게 switch에 있는 모든 구문이 실행이 된게 확인 되었습니다.

이렇게 switch는 아래로 내려오면서 실행시키기 때문에 break; 가 없다면 끝까지 실행을 하고 switch 를 빠져 나옵니다

그러면 a가 2일 경우에는 어떻게 될까요 ?

a를 2로 바꾸고 결과값을 확인해 보겠습니다.

이렇게 a가 1일 때와는 달리 "1입니다"가 출력되지 않았죠.

switch문은 (case 값:) 값에 해당하는 곳으로 이동해서 실행이 됩니다

 

그리고 default 는 if문에서 else 와 같습니다.

case 값이 전부 아닐 경우 라고 생각하시면 되요

a를 10으로 바꿔 주겠습니다.

이렇게 case 에 존재하지 않는 값은 default 구문이 실행 됩니다

 

그러면 case 0: 에는 아무것도 안쓰여 있는데 a가 0이라면 어떻게 될까요?

이렇게 됩니다. case 0: 으로 들어와서 break; 가 없으니 아래있는 case 1: 을 실행하고 break; 를 만나서 빠져나가는거죠.

 

아까 위에서 if문과 유사하다고 했는데 그 이유를 한번 보죠

이렇게 if 문으로 작성을 한 코드가 있습니다.

이 if 문으로 작성된 코드를 switch 문으로 바꿔 볼게요

이렇게 바꿀 수 있습니다. point / 10 이 뜻하는건 point 를 10으로 나눈 몫이죠

100 / 10 -> 10 , 95 / 10 -> 9 , 80 / 10 -> 8

이렇게 되겠죠 몫만 구하는 거니까

 

그리고 switch문 안에서 if문을 쓸수 있고 반대로 if문 안에서 switch문을 쓸 수 있습니다.

 

이렇게 switch문에 대해 알아 봤습니다.

 

고생하셨습니다

 

'JAVA 공부' 카테고리의 다른 글

Day06 - 반목문 do while  (0) 2021.02.22
Day05 - 반목문 While  (3) 2021.02.19
Day 04 - if 문  (0) 2021.02.18
Day 04 - 입력 Scanner  (0) 2021.02.18
Day04 - 배열(Array)  (0) 2021.02.18