반응형
switch문은 if-else문과 비슷하게, 특정한 조건에 따라 코드를 실행하지만, 그 경우가 많을 때 쓰기 위해 고안되었다. 예를 들어, 특정 날짜에 따라 코드를 실행하는 프로그램이 있다면, 만약에 이를 if-else문으로 쓴다면 너무 길고 복잡할 것이다. 하지만 switch문을 사용하면 훨씬 더 간결하게 할 수 있다.
1. switch문의 사용법
2. switch문 사용 예시
1. switch문의 사용법
기본적으로 switch문은 변수를 전해주는걸로 시작하고, 그 안에 각각의 케이스들을 나열한다. 이 케이스 중 하나가 맞으면 케이스 안에 있는 코드와, 그 후의 코드가 모두 실행된다.
int var = 3;
switch(var) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
case 4:
System.out.println("4");
case 5:
System.out.println("5");
}
위의 코드는 switch문에 들어가서 case 3에서 걸린다. 즉, 3이 출력된다. 하지만 거기서 끝나지 않고, case 3 이후의 모든 코드가 실행돼서 결과는 다음과 같다.
3
4
5
3에서 멈추게 할려면 어떻게 해야 할까? 정답은 break를 쓰는 것이다. 코드에 break를 쓰면 case에 걸렸을 때 안의 코드를 출력하고 더 이상 나머지 코드를 출력하지 않는다.
int var = 3;
switch(var) {
case 0:
System.out.println("0");
break;
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
case 5:
System.out.println("5");
break;
}
위의 코드의 결과는 3이된다.
그런데 만약에 switch문에 어떤 case도 걸리지 않을 경우는 어떻게 할까? 그 경우는 case 자리에 default를 써 주면 된다. default는 모든 case에 걸리지 않았을 경우 자동으로 실행된다.
int var = 10;
switch(var) {
case 0:
System.out.println("0");
break;
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
case 5:
System.out.println("5");
break;
default:
System.out.println("오류!");
}
위의 프로그램의 결과는 오류!이다.
2. switch문 사용 예시
오늘이 몇 월달인지에 따라 그 달이 출력되는 프로그램 작성
int month = 11;
switch(month) {
case 1:
System.out.println("Jan");
break;
case 2:
System.out.println("Feb");
break;
case 3:
System.out.println("Mar");
break;
case 4:
System.out.println("Apr");
break;
case 5:
System.out.println("May");
break;
case 6:
System.out.println("Jun");
break;
case 7:
System.out.println("Jul");
break;
case 8:
System.out.println("Aug");
break;
case 9:
System.out.println("Sep");
break;
case 10:
System.out.println("Oct");
break;
case 11:
System.out.println("Nov");
break;
case 12:
System.out.println("Dec");
break;
}
반응형
'👨💻 프로그래밍 > 📦 Backend' 카테고리의 다른 글
자바 11 - 유저로부터 데이터 받아오기 (Scanner 클래스 사용) (0) | 2021.04.22 |
---|---|
자바 10 - Math 클래스에 있는 매소드 활용 (0) | 2021.04.20 |
자바 8 - if문 (0) | 2021.04.16 |
자바 7 - 연산자끼리의 우선순위 (0) | 2021.04.14 |
자바 6 - 자바 연산자(Operator) (0) | 2021.04.12 |