본문 바로가기

국비과정/JAVA (기초)

20230613 _[8일차]_03. Switch*

[ Switch문 ]

package jun13;
// 스위치
/*
 * switch (검색변수) {
 * 		case (조건):
 * 			조건이 참일때 실행할 문장;
 * 			break;
 * 
 * 		case (조건2):
 * 			조건2가 참일때 실행할 문장;
 * 			break;
 * 
 * 		default:
 * 			위 case에서 모두 거짓일때 실행할 문장;
 * 
 * 	주의 : 검색변수는 수치형일 경우 int타입 이하만 가능합니다.
 * 			long, 실수형은 불가능.
 * 
 */

public class Switch01 {
	public static void main(String[] args) {

		int num = 45;
		
		switch (num) {
		case 45:
			System.out.println("num은 45입니다.");
			break;

		case 20:
			System.out.println("num이 20입니다.");
			break;

		default:
			System.out.println("num은 10, 20이 아닙니다.");
			break;
		}
		
		
	}
}

[ 정처기 기출문제(2020) ]

package jun13;

public class switch02 {
	public static void main(String[] args) {

		int i = 3;
		int k = 1;
		
		switch (i) {
		case 0:
		case 1:
		case 2:
		case 3:
			k = 0;			// break 없으면 아래 케이스 계속 실행.
		case 4:
			k += 3;
		case 5:
			k -= 10;	// -7
		default:
			k--;	// -8
		}
		System.out.println(k);
				
		
	}
}

[ Switch문 활용 ]

package jun13;

public class switch03 {
	public static void main(String[] args) {

		int num = (int) (Math.random() * 101); // 0~100까지 나오려면?
		System.out.println("당신의 점수는 " + num + "점 입니다.");
		// 90 ~100 : A
		// 80 ~89 : B
		// 70 ~79 : C
		// 0 ~69 : F
		
		switch (num/10) {
		case 10:
		case 9:
			System.out.println("A학점입니다.");			
			break;
		case 8:
			System.out.println("B학점입니다.");
			break;
		case 7:
			System.out.println("C학점입니다.");
			break;
		default:
			System.out.println("F학점입니다.");
			break;
		}
		
	}
}

* case에는 숫자값만 가능. 논리or비교값xxx
if문에 비해서 해당값이 어디로 가는지 명확하게 보임


[ Switch문 + 입출력(Scanner) ]

[ Switch문 활용 ]

package jun13;

import java.util.Scanner;

// 이상한 회사의 엘리베이터
public class switch04 {
	public static void main(String[] args) {

		int input;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("직급을 선택하세요");
		System.out.print("1.인턴\t 2.대리\t 3.과장\t 4.부장\t 5.사장\t \n");
		
		input = sc.nextInt();
		
		System.out.println("당신이 올라갈 수 있는 층은 ");
		
		switch (input) {
		case 5:
			System.out.print("5층" + ", ");
		case 4:
			System.out.print("4층" + ", ");
		case 3:
			System.out.print("3층" + ", ");
		case 2:
			System.out.print("2층" + ", ");
		default: 
			System.out.print("1층");		
			break;
		}   
        
	}
}

// 6 이상 입력하면 default 결과나옴 _ while로 설정해보기