안녕하세요~ 오늘은 지난시간에 배운 for반목문에 이어서 switch문을 알아볼겁니다!
조건문에서 비교할 값이 많을 경우! if-else 를 돌려도 좋지만 switch문을 사용한다면 가독성을 높일 수 있답니다 😆
Switch 문이란?
switch문은 논리적 참, 거짓을 따지는 것 보다는 상황에 따른(case)값을 결정할 때 사용하는 제어문입니다!
변수의 값이 case 1이라면 문장 1을 실행한 후 break문을 만나서 빠져나오는 구조를 가지고 있습니다!
여기서 case에 대해서 해당 되는 문장을 실행한 break문을 써주는 것이 일반적이고, default문은 위에 case에 값이 모두 해당되지 않을 경우 마지막에 실행하는 문장인데요! default에는 break를 생략하기도 합니다.
예제 1) break문이 중간에 없을 경우
package Test;
import java.util.Scanner;
public class EX8 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int select;
System.out.print("수 입력 : ");
select = in.nextInt();
switch(select){
case 1: System.out.println("1.입력한 수: " + select);
case 2: System.out.println("2.입력한 수: " + select);
case 3: System.out.println("3.입력한 수: " + select); break;
default: System.out.println("4.입력한 수: 1,2,3이 아닌 다른 수");
}
}
}
수 입력 : 1 1.입력한 수: 1 2.입력한 수: 1 3.입력한 수: 1 |
select변수를 통해 사용자에게 수를 입력받는 코드입니다.
다음과 같은 경우 사용자가 1을 입력하게되면 스위치 문이 실행되는데요!
자 여기서 select변수에 1이 들어가면서 case 1을 만나서 문장 1이 실행됩니다.
여기서 case1에 break문이 없음으로 바로 다음 case2를 실행하고 여기서도 break문을 만나지못해
case3의 문장까지 실행된 후 break를 만나서 종료되는 것을 볼 수 있습니다!
원하는 값의 문장을 실행시키고 싶을때는 반드시 break를 써줘야한다는거! 이해하셨죠? 😁
예제 2) 변수가 문자일 경우
package Test;
import java.io.IOException;
public class EX9 {
public static void main(String[] args) throws IOException {
int select;
System.out.print("문자 입력 : ");
select = System.in.read();
switch(select) {
case 'a': System.out.println("a입력");break;
case 'A': System.out.println("A입력");break;
default: System.out.println("a가 아닌 다른 값 입력");
}
}
}
문자 입력 : c a가 아닌 다른 값 입력 |
switch는 char,string 데이터 타입으로 조건문을 사용할 수 있습니다!
select 변수값에 c를 입력했더니 이번에는 case문들에 해당되지 않아서 맨 마지막 문장인 default 가 실행된 걸 볼수가있습니다!
예제 3) while문과 switch 사용
package Test;
import java.util.Scanner;
public class EX10 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String name = null; int select; boolean stop = true;
while(stop){
System.out.println("1. 이름 입력");
System.out.println("2. 이름 출력");
System.out.println("3. 종료");
System.out.print(">>> ");
select = in.nextInt();
switch (select) {
case 1 : System.out.print("이름 입력 : ");
name = in.next(); break;
case 2 : System.out.println("이름: " + name); break;
case 3: stop = false;
}
}
}
}
1. 이름 입력 2. 이름 출력 3. 종료 >>> 1 이름 입력 : 정데브 1. 이름 입력 2. 이름 출력 3. 종료 >>> 2 이름: 정데브 1. 이름 입력 2. 이름 출력 3. 종료 >>> 3 |
while문은 다음시간에 배울 내용이지만 이를 활용하여 switch문을 만들어봤습니다!
while문을 실행시키는 조건에 변수 stop을 넣었고 이는 논리형으로 true의 값을 넣어주어 실행되게 하고
사용자에게 select값으로 3을 받을 경우 stop의 변수에 false가 들어가면서 종료되는 반복문입니다!
그안에서 switch는 3개의 case로 이름을 입력, 출력, 종료 하는 기능을 가지고 있는데요!
case 문장안에서 데이터를 입력받고 출력까지 할 수 있는 것을 볼 수 있습니다! 이러한 switch문을 사용해서 간단한 예제로 메뉴판, 학생등급 등의 데이터를 처리할 수 있습니다 😉
오늘은 예제 3개로 switch문의 개념과 구조에 대해서 살펴봤는데요! 다음에는 while문에 대한 내용으로 찾아오겠습니다!
감사합니다 💕
'java > 기본 문법' 카테고리의 다른 글
Java_기본문법 - (while문) (0) | 2021.05.15 |
---|---|
java_기본 문법 - Scanner, InputStream, BufferedReader (0) | 2021.05.09 |
Java_기본문법 - (if - if else- else if) (0) | 2021.05.03 |
Java_기본문법 - 연산자 (0) | 2021.05.01 |
Java_기본문법 - 자료형 (0) | 2021.05.01 |