본문 바로가기
프로그래밍 언어/JAVA

[JAVA] 조건문 (2) switch문

by 느링 2017. 7. 19.

조건문 (2) switch문

 

switch문은 if문과 같이 연산식의 조건을 걸어 실행시키는 문장이지만 다른 점으로는 연산식의 결과 값에 따라 여러 개의 실행 경로 중 하나의 문장을 실행하는 것입니다.

 

switch(조건식){

      case 1

      수행 할 문장;  break;

 

      case 2

      수행 할 문장;  break;

 

      default

      수행 할 문장;  break;  

}

 

위에 보시면 switch의 기본 구조를 볼 수 있습니다.

수행되는 과정을 보자면,

먼저 switch에서 조건의 결과값을 확인합니다.

그 후 각각의 case문의 조건과 비교 확인 한 다음 맞는 case문장을 실행시킵니다.

이때맞는 case문이 없으면  default로 이동한 다음 문장을 실행시키고 switch문을 종료시킵니다.

 

switch문에서 가장 중요한 것은 바로 break입니다.

break는 각 case문장을 실행시킨 다음 해당 case문장을 종료하는 역할을 합니다.

만약 break를 적지 않게 되면 하위 case까지 모두 같이 출력하게 되는 오류가 발생됩니다.

 

<예제 1>

 

위에 보신 것처럼 1~3사이의 입력받은 숫자에 해당되는 case에서 문장이 출력된 뒤에 break로 종료됩니다. 하지만 1~3사이 외에 다른 숫자를 입력받게 되면 default문장이 출력된 뒤 종료됩니다.

 

 

 

Q. switch문과 if문은 언제 쓰는게 좋을까요?

if문의 경우를 보면 어떤 값들이 일정하지 않을 경우에 사용하기 편합니다.

예를 들어 if (num >= 50 && num < 90) 이런경우입니다.

 

반면 switch문은 값이 딱 정해져 있을 때 사용하기 편합니다.

예를 들어 case "ABC" 이런경우입니다.

 

각각의 상황에 맞춰서 사용하시면 될 것 같습니다.