본문 바로가기
👋국비 후기 모음👋 (이력도 확인 가능!)
개발/자바

자바 if문과 switch문을 비교해보자.

by 킴뎁 2021. 1. 17.
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를 대체할 수 있다.

 

반응형
👋국비 후기 모음👋 (이력도 확인 가능!)

댓글