자바 switch 사용하기 강좌

데이터의 흐름을 제어하기 위해 자주 사용하는 것. if문을 이전에 배웠는데요.

이번에 배울 switch문 또한, 값의 상태에 따라 변수의 값을 바꾸거나 다른 결과를 도출할 수 있습니다.

if문과 비슷하지만 또 다른 기능, 자바의 switch 사용법을 한번 알아보겠습니다.

 

사실 실제 프로젝트를 진행하다 보면 switch보다는 if절을 많이 사용하긴 합니다.

얼마나 많이 사용하겠어? 라고 하시겠지만 switch 보다 90%정도 더 사용한다 보면 되겠습니다.

하지만 아주 사용하지 않는 것도 아니기 때문에 switch문도 배워둘 필요가 있습니다.

Switch 문 API

오라클 사이트에서 switch문에 대한 사용 예제를 보실 수 있습니다.

java_switch002

기본적인 사용법은 위와 같은 구조로 사용되는데요.

한번 위의 소스를 분석해 보겠습니다.

예제 소스

public class switchEx {
	public static void main(String[] args) {
		 
		  String name = "김";
		  
		  switch(name){
		  
		  case "김" : 
			  System.out.println(" 김씨 ");
		  
		  case "이":
			  System.out.println(" 이씨 ");
			  break;
		  
		  default : 
			  System.out.println(" 이씨 ");
			  break;
		  }
		
	}
}
  1. 체크할 변수에 값을 할당합니다.
  2. switch 괄호에 값을 지정한 후 case 에 값을 변수와 비교합니다.
  3. 변수 name의 값이 김일 경우 김씨가, 이씨일 경우 이씨가 출력됩니다.
  4. 김씨도 아니고 이씨도 아니면 default 값 즉 이씨가 출력됩니다.

위의 절차가 switch ~ case문의 수행 절차입니다.

그렇다면 위의 소스를 실행한다면 결과는 어떤 값이 출력될까요? 

김씨일까요? 이씨일까요? 결과를 보겠습니다.

 

결과

java_switch003

김씨만 출력 될 줄 알았지만 느닷없이 이씨도 같이 출력 되었습니다.

문제가 되는 부분은 바로 출력문 다음에 오는 break 구문 입니다.

소스를 잘 보시면 break 구문이 있는 곳이 있고 없는 곳이 있는데요.

 

switch case문은 if절과 다르게 결과가 참이어도

모든 case문을 점검하여 기능을 수행하게 됩니다.

 

이점이 바로 if문과 다른 점이며 특징입니다.

결과가 참일 경우에 한번만 수행하고 싶으시면 해당 구문에 break를 추가하시면 됩니다.

 

중첩 switch case문

java_switch004

또한, 똑같은 case를 여러개 묶어서 한번에 처리할 수 있습니다.

위와 같이 case를 연속으로 여러개 놓으시면

case를 다중으로 처리할 수 있습니다.

java_switch005

위와 같이 간단하게 홀수 짝수를 구분하는 예제를 만들어 본 모습입니다.

switch문은 if문과 같은 것 같지만 다른 점이 있는 기능 중에 하나 인데요.

 

나중에 가면 아무래도 if문을 많이 쓰긴 하지만 경우에 따라 if문보다 switch문을 쓰면

성능이 좋아지거나 로직이 간편해 지는 경우가 있으니 기억해 두시면 좋겠습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.