조건의 경우의 수가 많으면 if문 보다 swich문을 사용하는 것이 더 간결하게 보인다.  (사람마다 다름) 

 

구조) 

switch( 조건식 ) {

	case 값1 : 
		// 조건식의 결과가 값1과 같은 경우 
	default : 
		// 조건식의 결과와 일치하는 case문이 없을 때 수행 

}

 

ㅁ 조건식

조건식은 연산결과가 int형 범위의 정수값이어야 한다. 

byte, short, char, int타입의 변수나 리터럴을 사용할 수 있다. 

 

ㅁ case문

case문은 오로지 리터럴이나 상수만 허용한다. 변수는 불가능하다. 

case문 이하에 있는 문장을 수행하고 break문을 만나면 switch문을 빠져나간다. 

break문을 생략하면 , 다른 break문을 만나거나 switch문 {}의 끝을 만날 때까지 모두 수행한다. 

 

/**
 * 등급 계산기
 */
public class TestSwitch {
	
	public static void main(String[] args) {
		
		int score = 10 ; 
		
		switch ( score ) {
		
			case 10 :
				System.out.println("당신은 A등급입니다.");
				break;
	
			case 9 :
				System.out.println("당신은 B등급입니다.");
				break;
				
			case 8 :
				System.out.println("당신은 C등급입니다.");
				break;
				
			case 7 :
				System.out.println("당신은 D등급입니다.");
				break;
				
			case 6 :
				System.out.println("당신은 E등급입니다.");
				break;
				
			default:
				break;
				
		}
		
	}
	
}

 

결과 ) 

당신은 A등급입니다.

 

break문 삭제하고 실행해 보겠다. 

break문이 없으면 그다음 case문도 수행이 된다. 

 

/**
 * 등급 계산기
 */
public class TestSwitch02 {
	
	public static void main(String[] args) {
		
		int score = 10 ; 
		
		switch ( score ) {
		
			case 10 :
				System.out.println("당신은 A등급입니다.");
	
			case 9 :
				System.out.println("당신은 B등급입니다.");
				
			case 8 :
				System.out.println("당신은 C등급입니다.");
				
			case 7 :
				System.out.println("당신은 D등급입니다.");
				
			case 6 :
				System.out.println("당신은 E등급입니다.");
				
			default:
				
		}
		
	}
	
}

 

결과) 

당신은 A등급입니다.
당신은 B등급입니다.
당신은 C등급입니다.
당신은 D등급입니다.
당신은 E등급입니다.
블로그 이미지

나무뚱이

,