03-15.1 Switch 문 (정수)
Def) Switch 문: if문 처럼 조건에 따라서 처리를 제어할 수 있는 문법
- 키워드 switch, case, default, break 를 사용한다.
- switch문은 블록 안에 case구문을 넣는다
- if 문에서 else if 를 여러 개 사용한 것 처럼 case 구문도 여러 개 사용가능하다.
Ex 1) value = 1인 경우
<hide/>
public class SwitchExam {
public static void main(String[] args){
int value = 1;
switch(value){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
default:
System.out.println("그 외 다른 숫자");
}
}
}
Note) 실행 결과
- 1만 출력 되지 않고 2, 3, 그 외 다른 숫자까지 모두 출력 되었다.
- 아래 문제에서 value 가 2일 때와 비교
Ex 2) value = 2인 경우
<hide/>
public class SwitchExam {
public static void main(String[] args){
int value = 2;
switch(value){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
default:
System.out.println("그 외 다른 숫자");
}
}
}
Note) 실행 결과
- Ex 1)과 다르게 1은 출력되지 않았다.
- value 값은 2이므로 값이 같은 2부터 default까지만 출력된다.
- 따라서, if else 처럼 값이 같은 하나만 출력하려면 키워드"break"를 이용한다.
Ex 3) break 사용
<hide/>
public class SwitchExam {
public static void main(String[] args){
int value = 2;
switch(value){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
default:
System.out.println("그 외 다른 숫자");
}
}
}
Note) 실행 결과: 2
- case 2 구문을 실행한 다음에 break 구문을 만나서 switch문을 빠져 나온다.
- 따라서, 해당하는 결과만 출력하기 위해 break를 쓴다.
03-15.2 Switch 문 (문자열)
- 앞에서 switch 문에 정수만 넣었으나 문자열도 가능하다.
Ex)
<hide/>
public class SwitchExam {
public static void main(String[] args){
String str = "D";
switch(str){
case "A":
System.out.println("A");
break;
case "B":
System.out.println("B");
break;
case "C":
System.out.println("C");
break;
default:
System.out.println("그 외 다른 문자");
}
}
}
03-15.3 Switch 문 실습 문제) month에 지금 몇 월 인지 숫자가 들어있다.
season -> 12 ~ 2월: "겨울", 3 ~ 5월: "봄", 6 ~ 8월: "여름", 9 ~ 11월: "가을" 값을 가지도록
Ex)
<hide/>
import java.util.Calendar;
public class SwitchExam {
public static void main(String[] args){
int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
String season = "";
switch(month){
case 12 : case 1 : case 2 :
season = "겨울";
break;
case 3 : case 4 : case 5 :
season = "봄";
break;
case 6 : case 7 : case 8 :
season = "여름";
break;
case 9 : case 10 : case 11 :
season = "가을";
break;
}
System.out.println("지금은 "+month+"월이고, "+season+"입니다.");
}
}
Note) 실행 결과:
- case : 12 case 1 : case 2 : .. 으로 나타내면 중복되는 코드 없이 입력할 수 있다.
- season에 값을 넣을 때는 '='대입 연산자와 ""(쌍따옴표)를 필수로 이용한다.
'Java > 모두의 자바' 카테고리의 다른 글
Chapter 03-17 do-while 문 (0) | 2022.02.04 |
---|---|
Chapter 03-16 while 문 (0) | 2022.02.04 |
Chapter 03-14 삼항 연산자 (0) | 2022.02.03 |
Chapter 03-13 논리 연산자 (0) | 2022.02.03 |
Chapter 03-12 if문 (0) | 2022.02.03 |