Hello

Java 제어문 Switch문, Switch문의 제약조건, Switch문과 if문 비교

by 볼빵빵오춘기

switch문

처리해야 하는 경우의 수가 많을 때 유용한 조건문

switch문

순서

1. 조건식을 계산한다. 

2. 조건식의 결과와 일치하는 case문으로 이동한다. 

3. 이후의 문장들을 수행한다.

4. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다. 

 

참고

Switch문 작성 시 defalut문 생략도 가능하다.

 

import java.util.Scanner;

public class Hello {

	public static void main(String[] args) {
		System.out.println("현재 월을 입력하세요.");
		
		Scanner scanner = new Scanner(System.in);
		int month = scanner.nextInt();
		
		switch(month) {
			case 3:
			case 4:
			case 5:
				System.out.println("spring");
				break;
			case 6: case 7 : case 8:
				System.out.println("summer");
				break;
			case 9: case 10 : case 11:
				System.out.println("fall");
				break;
			default:
				System.out.println("winter");
		}
		
	}

}

 

switch문의 제약 조건

  • switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
  • case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다. ( 변수는 안된다는 얘기)
int num, result;
final int One = 1;
switch(result){
	case '1': // 문자리터럴
	case One: // 정수 상수
	case "Yes": // 문자열리터럴 JDK 1.7부터 허용
	case num: // error. 변수는 불가
	case 1.0: // error. 실수도 불가
	...
}

 

switch문과 if문 비교

if-else문은 조건을 계속 수정하면되는데

switch문은 case만 추가하면된다.

그러나 swicth문에는 제약조건이 있다.

쓰고 싶어도 쓸 수 없는 경우가 있다.

만약 if가 너무 많으면 간단하게 switch문으로 변경할 수 없나 생각해보기.

switch문은 if문으로 변경한다면 100퍼 변경이 가능하다.

switch문과 if문 비교

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기