JAVA
[프로그래머스 자바 입문] 삼항 연산자, swith 문
전감자(◔◡◔)
2022. 11. 22. 09:55
✅ 삼항 연산자
int b1 = 5 > 4 ? 50 : 40;
조건식 ? 피연산자1 : 피연산자2. 조건식이 true이면 피연산자1을, 조건식이 false면 피연산자2를 수행
✅ switch 문
- switch문에서 사용하는 키워드는 switch, case, default, break 이다.
- switch문
switch(변수){
case 값1 :
실행문;
break;
case 값2 :
실행문;
break;
default;
}
int value = 1;
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("그 외의 숫자");
}
value의 값이 1일 경우 1을 출력하고, 2일 경우는 2를 출력하고, 3일 경우는 3을 출력하고, 그 외에는 그 외의 숫자가 출력된다.
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3 :
System.out.println("3");
default :
System.out.println("그 외의 숫자");
break를 제거하면 value가 1일 경우 1일 출력되고 switch문장을 빠져나가는 것이 아니라
1,2,3, 그외의숫자가 연속해서 실행된다. break문장이 있을 경우와 없을 경우를 확실하게 구분할 수 있어야 합니다.
JDK7이전에는 switch다음 괄호안에 정수타입의 변수만 올 수 있었습니다. 그런데 JDK7부터는 switch다음 괄호안에 문자열 타입의 변수도 올 수 있습니다.
String str = "A";
switch(str){
case "A":
System.out.println("1");
case "B":
System.out.println("2");
case "C" :
System.out.println("3");
default :
System.out.println("그 외의 숫자");
}
문자열의 값에 따라서 case블록의 내용이 출력되는 것을 알 수 있습니다.
프로그래머스 Switch 문 실습문제
switch (month){
case 1:
season = "겨울";
break;
case 2:
season = "겨울";
break;
case 3:
season = "봄";
break;
case 4:
season = "봄";
break;
case 5:
season = "봄";
break;
case 6:
season = "여름";
break;
case 7:
season = "여름";
break;
case 8:
season = "여름";
break;
case 9:
season = "가을";
break;
case 10:
season = "가을";
break;
case 11:
season = "가을";
break;
case 12:
season = "겨울";
break;
처음엔 조건문 형태로 썼다가 그럼 일렬로 다 써야하나;; 하면서 통과했는데
switch (month){
case 3: case 4: case 5:
season="봄";
break;
case 12: case 1: case 2:
season="겨울";
break;
case 6: case 7: case 8: season="여름"; break;
case 9: case 10: case 11: season="가을"; break;
정답을 보니 한 줄에 여러개의 case들을 같이 쓰는 것도 가능하다는 걸 알았다.
참고해두자