<3> switch문
- if문과 유사하게 조건에 따라 실행되는 실행문을 여럿 두어 그 중 하나를 실행함.
- 단, if문과 다르게 조건을 직접 입력하지 않고 비교값을 두어 비교 후 작업
비교값은 정수만 가능(실수도 불가능), jdk 1.7부터는 문자열도 가능.
- 문법
더보기
switch (비교대상) {
case 비교값1 :
실행문1;
break;
case 비교값2 :
실행문2;
break;
...
case 비교값n :
실행문n;
break;
default :
실행문;
}
- default문은 if문의 else문과 같이 모든 조건이 안 맞을 때 동작합니다.
- 비교값에는 조건이 아닌 실제 비교할 값이 들어가야 합니다.
- break는 입력하지 않아도 오류가 발생하진 않지만, 실행문을 걸린 case부터 밑으로 모두 실행시키는 것을 막아줍니다.
- case를 옆으로 나열하면 각 조건이 or로 묶여서 동작합니다.
case 1: case 2: case3: // 비교값이 1이거나 2이거나 3이면
class SwitchEx
{
public static void main(String[] args)
{
int n = 2;
switch (n)
{
case 1:
System.out.println("n의 값은 1");
break;
case 2:
System.out.println("n의 값은 2");
break;
case 3:
System.out.println("n의 값은 3");
break;
case 4:
System.out.println("n의 값은 4");
break;
default:
System.out.println("n의 값을 알 수 없습니다.");
}
/*
다음의 if문을 switch문으로 변경
*/
// if문
n = 24;
if (n >= 0 && n < 10)
{
System.out.println("예제1 : 0이상 10미만의 수");
}
else if (n >= 10 && n < 20)
{
System.out.println("예제1 : 10이상 20미만의 수");
}
else if (n >= 20 && n < 30)
{
System.out.println("예제1 : 20이상 30미만의 수");
}
else{
System.out.println("예제1 : 음수 혹은 30이상의 수");
}
//switch문
int quota;
quota = n/10;
switch (quota)
{
case 0:
System.out.println("예제2 : 0이상 10미만의 수");
break;
case 1:
System.out.println("예제2 : 10이상 20미만의 수");
break;
case 2:
System.out.println("예제2 : 20이상 30미만의 수");
break;
default:
System.out.println("예제2 : 음수 혹은 30이상의 수");
}
int quota1;
quota1 = (n-1)/10;
switch (quota1)
{
case 0:
System.out.println("예제3 : 1이상 10이하의 수");
break;
case 1:
System.out.println("예제3 : 11이상 20이하의 수");
break;
case 2:
System.out.println("예제3 : 21이상 30이하의 수");
break;
default:
System.out.println("예제3 : 음수 혹은 30초과의 수");
}
}
}
728x90
반응형
'Java > Java 기초' 카테고리의 다른 글
[Java] for문 (0) | 2020.06.24 |
---|---|
[Java] While문 Do-While문 차이 (0) | 2020.06.24 |
[Java] 조건 연산자 If문을 간단하게 사용하기 (0) | 2020.06.23 |
[Java] If문 (0) | 2020.06.23 |
[Java] 증감 연산자 적용 순서 알아보기 (0) | 2020.06.23 |