JAVA - switch 문(2022-07-12)
2022. 7. 12. 20:18ㆍ3층 1구역 - 개발의 장/JAVA
if-else 할 때 까진 할만했었는데 스위치 문 들어오니 묘하게 복잡하다........

퀴즈들 정답코드 최대한 보지 않고 스스로 작성하여 이상없이 출력할 수 있도록
한번씩 계속 작성해봐야겠다...
스위치문 본격적으로 시작하기 전에...
필자가 퀴즈를 풀면서 스캐너를 실행할 때,
정수형 int 변수를 사용하여 nextint();로 많이 사용했었다.
그렇다면 이걸 문자형으로는 사용 못하는가?
가능하다.
어떤 게임의 메인메뉴를 만든다고 생각하고 예제를 보자.
package conditions_0712;
import java.util.Scanner;
public class Ex10 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String data;
System.out.println("1.쉬운 게임");
System.out.println("2.어려운 게임");
System.out.println("3.나가기");
System.out.print(">>> ");
data = input.next();
if (data.equals("1"))
System.out.println("쉬운 게임 시작");
if (data.equals("2"))
System.out.println("어려운 게임 시작");
if (data.equals("3"))
System.out.println("종료 합니다.");
}
}
Scanner input으로 String에 data변수 정의, data변수에 input.next(); 저장
여기서 차이점은 int일 경우 nextint();를 사용했지만 여기선 문자열 이므로 next();를 사용했다.
1. Switch문?
Switch문은 if-else의 다른 버전 이라고 생각하면 쉽다.
switch를 선언하고 몇 개의 case를 준 뒤 해당 값이 case(if 나 else if)문장에 맞으면 break; Switch문을 깨고 출력
해당이 없으면 default(else)문으로 출력
예제
package conditions_0712;
import java.util.Scanner;
public class Ex11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("수 입력 : ");
int select = sc.nextInt();
switch (select) {
case 1: System.out.println("case 1 : " + select); break;
case 2: System.out.println("case 2 : " + select); break;
case 3: System.out.println("case 3 : " + select); break;
default:System.out.println("default : 1,2,3이 아닌 수");
}
System.out.println("다음 문장");
}
}
결과
1을 입력했을 때, case 1번 문으로 들어가 해당 출력을 실행하고 break;
2를 입력했을 때, case 2번 문으로 들어가 해당 출력을 실행하고 break;
3을 입력했을 때, case 3번 문으로 들어가 해당 출력을 실행하고 break;
1,2,3이 아니면 dfault로 들어가 출력 실행
'3층 1구역 - 개발의 장 > JAVA' 카테고리의 다른 글
JAVA - Switch문 예제 (2022-07-12) (0) | 2022.07.12 |
---|---|
JAVA - 예외처리 (2022-07-12) (0) | 2022.07.12 |
JAVA - 조건 if-else if-else문 퀴즈 (2022-07-11) (0) | 2022.07.12 |
JAVA - 조건 if-else if-else문 (2022-07-11) (0) | 2022.07.12 |
JAVA - 조건if-else문(2022-07-11) (0) | 2022.07.11 |