자바언어
-
Java 020. switch - case 조건문2023.04.09
Java 020. switch - case 조건문
switch - case 조건문
switch - case문은 if - else문과 비슷한 조건 제어문이다.
하지만 switch문은 if문처럼 조건식이 true일 경우에 실행문을 실행하는 것이 아닌
변수의 값에 따라 실행문이 선택된다.
조건식의 변수의 값에 따라 해당 case위치로 이동해서 break를 만날 때 까지 코드를 실행한다.
if문은 조건식의 결과가 true, false 두 가지밖에 없기 때문에 경우의 수가 많아질수록 else - if를 반복적으로 추가해줘야하는 반면에 switch문은 변수의 값에 따라서 실행문이 결정되기 때문에 if문보다 간결하게 코드를 작성할 수 있다.
switch (조건식) { case 값 1: 실행문1; break; case 값 2: 실행문2; break; ... ... default: 실행문; } |
default는 조건식이 모든 case가 아닐때 실행한다.
case에 사용 가능한 변수 타입
- 정수 : byte, short, int, long, char
- 문자열 : String
- 열거형 자료 타입(enum)
정수를 사용한 swtich문
int n = 17;
switch (n % 2) {
case 0:
System.out.println("짝수");
break;
case 1:
System.out.println("홀수");
break;
}
실행 결과 =
홀수
*switch문에서는 실수 float, double을 사용할 수 없다.
double x = 1.0;
switch (x) {
case 1.0:
break;
case 2.0:
break;
}
문자열을 사용한 swtich문
String time = "점심";
switch (time) {
case "아침":
System.out.println("breakfast");
break;
case "점심":
System.out.println("lunch");
break;
case "저녁":
System.out.println("dinner");
break;
default:
System.out.println("snack");
}
실행 결과 =
lunch
*switch문에서는 boolean(==)을 사용할 수 없다.
enum 타입을 사용한 switch문
열거형 자료 타입인 enum(enumeration type)은 한정된 값(상수)들만 갖는 데이터 타입이다.
public enum Season {
SPRING, SUMMER, FALL, WINTER;
}
이런식으로 개발자가 정의하여 타입을 만든 것이 enum이다.
Season s = Season.WINTER;
switch (s) {
case SPRING:
System.out.println("봄");
break;
case SUMMER:
System.out.println("여름");
break;
case FALL:
System.out.println("가을");
break;
case WINTER:
System.out.println("겨울");
break;
(enum은 따로 정리를 할 예정이다.)
'language > Java' 카테고리의 다른 글
Java 022. MyBatis 오류 ReflectionException: Error instantiating class ... with invalid types ... or values ... Cause: java.lang.IllegalArgumentException (0) | 2023.06.25 |
---|---|
Java 021. 배열(Array)(1) (0) | 2023.04.09 |
Java 019. 무한 루프 while문 / switch문 / 입출금 자바 프로그램 (0) | 2023.04.09 |
Java 018. for / while 문을 사용해서 별(*) 을 삼각형으로 출력하기 (0) | 2023.04.03 |
Java 017. 이중 반복문 for / while / break (2) (0) | 2023.04.02 |