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("메뉴확인 후 다시 입력하세요.");
}
}
}
}