본문 바로가기
Java

Java 복습_6

by 지민재 2022. 6. 18.

switch-case문

  • 조건문을 구현할 때 if 문을 사용하면 번거로운 경우가 있습니다.
  • switch-case문은 주로 조건이 하나의 변수 값이나 상수 값으로 구분되는 경우 사용합니다.
  • 조건식의 결과가 정수 또는 문자열 값이고 그 값에 따라 수행되는 경우가 각각 다른 경우에는 switch-case 문으로 구헝하는 것이 코드도 깔끔하고 가독성도 좋습니다.
  • case문에는 여러 문장이 있어도 {}를 여러 번 사용하지 않습니다.

if-else if-else

if (rank ==1) {
	medalColor = 'G';
} else if (rank == 2) {
	medalColor = 'S';
} else if (rank == 3) {
	medalColor = 'B';
} else {
	medalColor = 'A';
}

 

switch-case

switch(rank) {
	case 1: medalColor = 'G';
		break;
	case 2: medalColor = 'S';
		break;
	case 3: medalColor = 'B';
		break;
	default : medalColor = 'A';
}
switch(조건) {
	case 값1: 수행문1;
		break;
	case 값2: 수행문2;
		break; 
	case 값3: 수행문3;
		break;
	default: 수행문4;
}
package selfstudy;

public class SwitchCase1 {
	public static void main(String[] args) {
		int ranking = 1;
		char medalColor;
		
		switch(ranking) {
			case 1: medalColor = 'G';
				break;
			case 2: medalColor = 'S';
				break;
			case 3: medalColor = 'B';
				break;
			default : 
					medalColor = 'A';
		}
		
		System.out.println(ranking + "등 메달의 색깔은 " + medalColor + " 입니다.");
	}
}

실행결과
1등 메달의 색깔은 G 입니다.

case문 동시에 사용하기

case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31;
	break;
case 4: case 6: case 9: case 11: day = 30;
	break;
case 2: day = 28;
	break;

switch-case문에서 break의 역할

  • break문은 switch-case문의 수행을 멈추고 빠져나가도록 합니다.
  • break를 쓰지 않으면 다음 break를 만날때까지 다음 case 부분이 실행됩니다.

case문에 문자열 사용하기

  • JDK1.7부터는 switch-case문의 case값에 정수 값 뿐 아니라 문자열도 사용할 수 있습니다.
  • 이전에는 문자열을 사용할 수 없었기 때문에 문자열을 비교하는 equals()메서드라는 것을 이용해야 했습니다.

JDK1.7 이전

if (medal.equals("Gold")) {
	...
}

 

package selfstudy;

public class SwitchCase2 {
	public static void main(String[] args) {
		String medal = "Gold";
		
		switch(medal) {
			case "Gold":
				System.out.println("금메달입니다.");
				break;
			case "Silver":
				System.out.println("은메달입니다.");
				break;
			case "Bronze":
				System.out.println("동메달입니다.");
				break;
			default : 
				System.out.println("메달이 없습니다.");
		}
	}
}


실행결과
1등 메달의 색깔은 G 입니다.

'Java' 카테고리의 다른 글

Java 복습_08  (0) 2022.07.04
Java 복습_7  (0) 2022.06.29
Java 복습_5  (0) 2022.06.09
Java 복습_4  (0) 2022.06.01
Java 복습_3  (0) 2022.05.31

댓글