쌍용교육(JAVA)/JAVA

쌍용교육 -JAVA 수업 4일차 Switch문

구 승 2024. 4. 11. 17:04
package kr.s03.operation;

public class SwitchMain01 {
	public static void main(String[] args) {
		java.util.Scanner input =
				new java.util.Scanner(System.in);
		System.out.print("정수형 숫자 입력:");
		int a = input.nextInt();
		//5같은 int는 되지만 5L같은 long타입은 안됨 
		//Switc의 인자값은 long형을 제외한 정수형(byte,short,int),
		//char,문자열 사용가능
		//인자값과 조건값이 일치하는지 여부 체크
		switch(a) {
		case 1:
			System.out.println("1.입력");
			break;//수행문을 실행한 후 switch블럭을 빠져나감
		case 2:
			System.out.println("2.입력");
			break;
		case 3:
			System.out.println("3.입력");
			break;
		default:
			System.out.println("1,2,3이 아닌 숫자 입력");
		}
		input.close();
	}
}

정수형 숫자 입력:5
1,2,3이 아닌 숫자 입력

package kr.s03.operation;

public class SwitchMain02 {
	public static void main(String[] args) {
		java.util.Scanner input =
				new java.util.Scanner(System.in);
		System.out.print("계절 입력:");
		//next(): 봄 여름 -> 봄 만 불러옴. 공백이 있어서
		//nextLine(): 봄 여름 -> 봄 여름 한 라인의 데이터를 사용
		String season = input.nextLine();
		
		switch(season) {
		case "봄":
			System.out.println("꽃이 피는 계절");
			break;
		case "여름":
			System.out.println("뜨거운 태양의 계절");
			break;
		case "가을":
			System.out.println("산들바람이 부는 계절");
			break;
		case "겨울":
			System.out.println("눈이 내리는 계절");
			break;
		default:
			System.out.println("없는 계절");  
		}
		
		input.close();
	}
}

계절 입력:봄
꽃이 피는 계절

package kr.s03.operation;

public class SwitchMain03 {
	public static void main(String[] args) {
		java.util.Scanner input =
				new java.util.Scanner(System.in);
		
		int score;
		char grade;
		System.out.print("성적 입력:");
		score = input.nextInt();
		
		if(score < 0 || score >100) {
			System.out.println("성적은 0~100만 입력가능");
			//프로그램 종료
			System.exit(0);
			}
		switch(score/10) {
		case 10:
		case 9:
			grade = 'A';
			break;
		case 8:
			grade = 'B';
			
			break;
		case 7:
			grade = 'C';
			
			break;
		case 6:
			grade = 'D';
			
			break;
		default:
			grade = 'F';
			
		}
		System.out.println();
		System.out.printf("%d%n",score);
		System.out.printf("%c%n",grade);
		
		
		
		input.close();
	}
}

성적 입력:70

70
C

package kr.s03.operation;

public class SwitchMain04 {
	public static void main(String[] args) {
		java.util.Scanner input =
				new java.util.Scanner(System.in);
		/*
		 * [실습]
		 * 두 개의 정수와 연산자를 입력한 후 연산의 결과를 출력하시오.
		 * 
		 * [입력 예시]
		 * 첫번쨰 수:10
		 * 연산자:+
		 * 두번쨰 수:20
		 * 
		 * [출력 예시]
		 * 10 + 20 = 30
		 */
		int result = 0;
		System.out.print("첫번째 수:");
		int first = input.nextInt();
		System.out.print("연산자:");
		String operator = input.next();
		System.out.print("두번째 수:");
		int second = input.nextInt();
		switch (operator) {
		case "+":
			result = first+second;
			break;
		case "-":
			result = first-second;
			break;
		case "*":
			result = first*second;
			break;
		case "/":
			if(second!=0) {
			result = first/second;
			break;
			}else {
				System.out.println("0으로 나눌 수 없습니다.");
				System.exit(0);
			}
		case "%":
			if(second!=0) {
				result = first%second;
				break;
				}else {
					System.out.println("0으로 나눌 수 없습니다.");
					System.exit(0);
				}
		default:
			System.out.println("연산자를 잘못 입력함.");
			System.exit(0);
		}
		System.out.println();
		System.out.printf("%d %s %d = %d",first,operator,second,result);
		input.close();
		
		
	}
}

첫번째 수:10
연산자:+
두번째 수:20

10 + 20 = 30