Back-End - Main Menu/Java

FC_ch16 - SwitchCaseTest & SwitchCaseTest2 & SwitchCaseTest2_Test(응용) & SwitchCaseUpTest

ITRecipe 2023. 8. 20. 15:05
package ch16;

import java.util.Scanner;

public class SwitchCaseTest {

	public static void main(String[] args) {
		
		//한달이 몇일인지 알려주는 프로그램 구현
		
		Scanner scanner = new Scanner(System.in); //숫자를 입력받기 위해 스캐너 사용
		
		System.out.println("월을 입력하라");
		
		int month = scanner.nextInt(); //월을 정수로 입력 받기
		
		int day; //몇일인지를 표현하기 위해 사용한 변수
		
		switch(month) {
			
			case 1:  case 3: case 5: case 7: case 8: case 10: case 12: //같은 일수 끼리 한줄에 작성도 가능하다.
				day = 31;
				break; //break문을 안쓰면 다음 문장으로 넘어가서 수행 시켜버리기 때문에 꼭 써줘야 한다.
			
			case 2: 
				day = 28;
				break;
			
			case 4: 
				day = 30;
				break;
			
			case 6: 
				day = 30;
				break;
			
			case 9: 
				day = 30;
				break;
			
			case 11: 
				day = 30;
				break;
			
			default :
				System.out.println("존재하지 않는 달 입니다");
				day = -1;
		}
		System.out.println(month + "월은 " + day + "일 입니다.");
	}
}

실행결과

package ch16;

import java.util.Scanner;

public class SwitchCaseTest2 {
	//문자열이 지원되는 switch ~ case문
	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in); //문자열을 받기 위해 스캐너 사용
		
		System.out.println("무슨 메달을 받을까?");
		String medal = scanner.next(); //스캐너로 문자열을 받아 출력하기
		
		switch(medal) {
			case "Gold":
				System.out.println("금메달");
				break;
			case "Silver":
				System.out.println("은메달");
				break;
			case "Bronze":
				System.out.println("동메달");
				break;
			default : //해당 하는 조건이 없을시 출력될 default 조건
				System.out.println("메달 x");
		}
	}
}

실행결과

package test;

import java.util.Scanner;

public class SwitchCaseTest2_Test {
	//문자열이 지원되는 switch ~ case문 (응용예제)
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		System.out.println("무슨 커피를 마실까?");
		
		String cafe = sc.next();
		
		switch(cafe) {
			case "americano":
				System.out.println("아메리카노를 마실래!");
				break;
			case "latte":
				System.out.println("라떼를 마실래!");
				break;
			case "coldbrew":
				System.out.println("콜드브루를 마실래!");
				break;
			default :
				System.out.println("마시고 싶은 커피가 없어!");
		}
	}
}

실행결과

package ch16;

import java.util.Scanner;

public class SwitchCaseUpTest {
	
	//표현식을 사용하는 switch ~ case문
	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("월을 입력 하세요");
		
		int month = scanner.nextInt();
		
		int day = switch(month) {
		
			case 1, 3, 5, 7, 8, 10, 12-> {
				System.out.println("이번달은 31일 까지 있습니다.");
				yield 31;
			}
			
			case 2-> 
				28;
			
			case 4, 6, 9, 11-> 
				30;
			
			default-> { //문장이 두개 또는 그 이상인 경우는 중괄호를 사용한다.
				System.out.println("존재하지 않는 달 입니다.");
				yield -1; //수행하는 값이 있고 반환해야 하는 값이 있을때 사용하는 키워드가 yield이다.
			}
		}; //문장의 끝을 알려줘야함
		
		System.out.println(month + "월은 " + day + "일 까지 있습니다.");
	}
}

실행결과