본문 바로가기
JAVA/조건식

조건식(switch-case)

by pms93 2022. 7. 18.
package conditions;

import java.io.IOException;
import java.util.Scanner;

public class Conditions2 {

	public static void main(String[] args) throws IOException {

		// switch-case
		//		switch(데이터(변수)) {
		//			case 데이터값:
		//				종속문장;
		//				break;
		//			case 데이터값:
		//				종속문장;
		//			default :
		//				종속문장;
		//		}
		// if, else-if문과 비슷하나 조건식의 결과에 따라 동작하는것이 아닌
		// Switch인자 내에 있는 변수에 각 case가 실행되는 구조
		// 변수값에 대한 각 case및 default를 비교, 종속문장 실행 후 switch문을 빠져나간다.
		System.out.println("문자 입력 : ");
		int sel = System.in.read();

		switch (sel) {
		case 'a':
			System.out.println("a가 입력되었습니다.");
			break; // 해당 case문 실행 후 switch문을 빠져나가게 해준다.
		case 'A':
			System.out.println("A가 입력되었습니다.");
			// 해당 case문 실행 후 break;가 없으므로 switch문을 탈출하지 않고
			// 하위 case/default문이 실행된다.
		default: // sel의 값이 case에 존재하지 않을 때 실행된다.
			System.out.println("a/A가 아닌 다른값이 입력되었습니다.");
		}
		System.out.println("switch문 탈출");

		// ex)
		Scanner sc = new Scanner(System.in);
		String name = "";
		boolean flag = true;
		sel = 0;

		while (flag) {
			System.out.printf("1. 이름입력\n2. 이름 출력\n3. 종료\n>> ");
			sel = sc.nextInt();
			sc.nextLine(); // 아래에서 이름을 입력 받을 시 정상적으로 받기 위해 buffer에 저장되어 있는 enter값을 없애주는 기능
			switch (sel) {
				case 1:
					System.out.println("이름 입력 : ");
					name = sc.nextLine();
					break;
				case 2:
					System.out.println("저장된 이름 : " + name);
					break;
				case 3:
					System.out.println("프로그램 종료");
					flag = false;
					break;
				default:
					System.out.println("메뉴확인 후 다시 입력하세요.");
			}
		}

	}
}

'JAVA > 조건식' 카테고리의 다른 글

조건식(if else-if, switch-case)예제  (0) 2022.07.19
조건식(else if, else)  (0) 2022.07.18
조건식(if문)  (0) 2022.07.18