스위치(Switch)
switch~case문
if와 else~if의 또 다른 형태이다. case의 key값과 비교해서 일치한 case만 실행한다.
값을 보여주기 때문에 개발하기 편한 장점이 있다. 그러나 if문 처럼 범위를 지정할 수 없다는 단점 또한 존재한다.
switch의 조건 값의 타입은 수치형일 경우는 int 이하, char, String이 가능하다. 그러나 long, 실수는 불가능하다.
switch(검색변수) {
case 조건1:
조건이 true 시 실행할 문장;
break;
case 조건2:
조건2가 true시 실행할 문장;
default:
나열된 case의 조건이 모두 false일 때
기본적으로 실행되는 실행문장;
break;
}
와 같은 형태가 기본 형태이며, case 안에서도 if문, for문 모두 사용 가능하다.
예제 01. 숫자 판별
package May24;
public class Switch01 {
public static void main(String[] args) {
int number = 5;
switch(number) {
case 0:
System.out.println("number는 0입니다.");
break;
case 5:
System.out.println("number는 5입니다.");
break;
default:
System.out.println("number는 0과 5가 아닙니다.");
break;
}
}
}
출력결과:
number는 5입니다.
예제 02. 출입가능한 건물 층
break;이 없으면 다음 break이 나오는 case까지 계속 이어진다.
package May24;
import java.util.Scanner;
public class Switch02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("당신의 직급을 입력하세요. ");
System.out.println("1.사장\t2.부장\t3.과장\t4.대리\t5.사원\t6.알바");
int input = sc.nextInt();
System.out.print("올라갈 수 있는 층은 ");
switch (input) {
case 1:
System.out.print("6층, ");
case 2:
System.out.print("5층, ");
case 3:
System.out.print("4층, ");
case 4:
System.out.print("3층, ");
case 5:
System.out.print("2층, ");
default:
System.out.println("1층입니다.");
}
}
}
출력결과:
당신의 직급을 입력하세요.
1.사장 2.부장 3.과장 4.대리 5.사원 6.알바
3
올라갈 수 있는 층은 4층, 3층, 2층, 1층입니다.
예제 03. 주민등록번호 성별 코드
break;이 없으면 다음 break이 나오는 case까지 계속 이어진다.
package May24;
import java.util.Scanner;
public class Switch03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("주민등록번호 중 성별 코드 입력 _");
int year=0, code;
String sex; //성별을 저장
code = sc.nextInt();
switch (code) {
case 1:
case 2:
year = 1900;
break;
case 3:
case 4:
year = 2000;
break;
default:
System.out.println("잘못 입력했습니다.");
System.exit(code);//프로그램 종료
}
sex = code % 2 == 0 ? "여성" : "남성";
System.out.print("당신은 " + year + "년도에 태어난 ");
System.out.println(sex + "입니다.");
}
}
출력결과:
주민등록번호 중 성별 코드 입력 _2
당신은 1900년도에 태어난 여성입니다.
'BackEnd > Java' 카테고리의 다른 글
[Java] 배열 Array (0) | 2021.07.01 |
---|---|
[Java] 무한 반복문 While, Do While (0) | 2021.07.01 |
[Java] 반복문 for (0) | 2021.07.01 |
[Java] 조건문 if (0) | 2021.07.01 |
[Java] 연산자 (0) | 2021.07.01 |
댓글