Switch문

SwitchTest1

:일반 스위치문

package chapter04.condition;

public class SwitchTest1 {

	public static void main(String[] args) {
		int rangking = 2;
		
		switch (rangking) {
		case 1:
			System.out.println("금매달!");
			break;
		case 2:
			System.out.println("은매달!");
			break;
		case 3:
			System.out.println("동매달!");
			break;

		default:
			System.out.println("참가상!");
			break;
		}

	}

}

SwitchTest2

:일반 스위치문

package chapter04.condition;

public class SwitchTest2 {

	public static void main(String[] args) {
		//병합처리
		int ranking = 2;
		switch (ranking) {
		case 1:
			System.out.println("대상");
			break;
		case 2:
		case 3:
			System.out.println("우수상");
			break;
		case 4:
		case 5:
			System.out.println("장려상!");
			break;	
		}
		
		int days;
		int month = 4;
		
		switch (month) {
		case 2: days = 28; break;
		case 4: case 6: case 9: case 11:
			days = 30; break;
		default:	
			days = 31;
			break;
		}
		System.out.println(month + "월은 " + days + "일");

	}

}

SwitchTest3

:일반 스위치문

package chapter04.condition;

public class SwitchTest3 {

	public static void main(String[] args) {
		String country = "china";
		
		switch(country) {
			case "korea":
				System.out.println("서울"); break;
			case "china":
				System.out.println("베이징"); break;
			case "japan":
				System.out.println("도쿄"); break;
		}
		
		String a = new String("안녕");
		String b = new String("안녕");
		String c = "안녕";
		String d = "안녕";
		
		System.out.println(a == b);        //주소비교
		System.out.println(a.equals(b));   //내용비교
		System.out.println(c == d);
		System.out.println(c.equals(d));
		
	}

}

SwitchTest4

:switch 표현식/ 새로운 switch 문법

(값 반환함, →를 사용하여 break를 안써도 괜찮음)

package chapter04.condition;

public class SwitchTest4 {

	public static void main(String[] args) {
		// switch 표현식
//		int ranking = 1;
//		
//		String medal = switch (ranking) {
//					case 1 -> { 
//						System.out.println("축하합니다");
//						yield "금메달";
//					}
//				case 2 -> "은메달";
//				case 3 -> "동메달";
//				default -> "참가상";
//			};
//			System.out.println(medal + "을 수여합니다.");
		
		//금메달만?
		// -> break 안써도 ㄱㅊ음
		//일반 스위치문과 다르게 값을 반환하고 있음
		int ranking = 1;
		
		String medal = switch (ranking) {
					case 1 -> { 
						System.out.println("축하합니다");
						yield "금메달";
					}
				case 2 -> "은메달";
				case 3 -> "동메달";
				default -> "참가상";
			};
			System.out.println(medal + "을 수여합니다.");
			
	}

}