📌if문과 else if 문은 단계적으로 작동한다
if(num<10) {
System.out.println("num의 값은 10 미만입니다.");
} else if (num<100) {
System.out.println("num의 값은 10 이상, 100 미만입니다.");
} else if (num<1000) {
System.out.println("num의 값은 100 이상, 1000 미만입니다.");
} else {
System.out.println("num의 값은 1000이상입니다.");
}
- if 조건문을 수행한 후, 다음 else if 조건문으로 넘어온다.
그렇다면 굳이 else if 조건문을 아래와 같이 작성할 필요가 없다.
else if (10<=num && num<100)
📌부등호로 범위를 표시할 때
- 교집합 부분은 '&&' 연산자를 활용해야 한다.
num >= 1 && num <= 10
📌최댓값을 출력하는 문제
max = n1 < n2 ? n2 : n1;
max = n2 < n3 ? n3 : n2;
max = n1 < n3 ? n3 : n1;
- 모든 경우의 수를 따지면 코드를 3줄 써야 한다.
max = (n1 > n2) ? n1 : n2;
max = (max > n3) ? max : n3;
- max 변수에는 가장 큰 것만 담기게 해서 2줄만 써서 비교할 수 있다.
📌switch문을 이용한 학점 구하는 문제
- 반복되는 것이 있는지 확인하고
어떻게 하면 간단히 표현할 수 있을지 고민하자.
- 100 / 99 ~ 95 / 94 ~ 90 / 89 ~ 85 ... 5개 단위로 반복된다.
- 반복되는 것은 나눗셈과 깊은 연관이 있다.
String grade = "F";
s = s/5;
switch (s) {
case 20:
case 19:
grade="A+";
break;
📌switch문 이용할 때 막혔던 경우
- switch문 코드 작성을 다했는데, 결과값이 출력되지 않은 경우가 있었다.
switch (ch) {
case 'A' :
case 'a' :
System.out.println("사과");
break;```
System.out.println("끝");
}
- 실행문을 switch문 블럭 안에 둬서 break 걸린 후 실행이 안 됐다.
break 걸리면, switch 안에 실행문은 그 단계에서 멈춘다는 것을 명심하자.