728x90
반응형
if문과 switch문은 대체로 바꿔가면 쓸 수 있다.
but..!
범위비교를 할 경우 switch를 사용할 수 없다.
ex)
가능.
int score = 88;
if( score>=90 ) {
System.out.println("A등급");
} else if( score>=80 ) {
System.out.println("B등급");
}
불가능
switch( score ){
case >= 90: //에러
System.out.println("A");
break;
case >= 80; //에러
System.out.println("B");
break;
}
대신 생각을 잘 해보면 다른 방식으로 사용할 수 있다. 아래 코드를 확인해 보자.
switch( score/10 ) {//score를 10으로 나눈 몫, 10의 자리 숫자
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
}
위와 같이 범위를 줄 수 없다면 범위를 특정값으로 만들면 되는 것이다.
case >= 90은 점수가 90점 이상일 경우 A란 뜻이다.
switch에 변수값을 score/10으로 할 경우 결과는 10의 자리 숫자가 나온다. (int score / int 10) 이므로 일의 자리는 생략.
score = 88 일 경우 score/10 -> 88/10 -> 8이 된다. 이런식으로 생각의 전환을 조금 하게 되면 switch로도 충분히 if를 대체할 수 있다.
반응형
'개발 > 자바' 카테고리의 다른 글
자바 배열이란? // 배열 정렬, Bubble Sort (0) | 2021.01.19 |
---|---|
자바 {맥북} 내가 자주 사용하는 이클립스 단축키 정리. (0) | 2021.01.17 |
자바 별찍기 - 무서워하지 말자. 차근차근 이해해보자 (1) | 2021.01.17 |
자바 문자열에 특정문자 개수 구하기 / 영문자만 입력받기 (ASCII 코드활용) / 스캐너에서 char값 입력받기 (charAt()) (0) | 2021.01.16 |
자바 반복문 예제들 (최소공배수, 최대공약수, 1~n 사이의 소수 구하기) (0) | 2021.01.14 |
댓글