반응형
switch문
switch 문은 if문과 같이 조건에 맞는 경우에만 코드를 실행시키거나 실행되지 않도록 하는 조건문이다.
switch 형식
switch(인자){
case 조건값1 :
실행문
[break;]
case 조건값2 :
실행문
[break;]
default :
실행문
[break;]
}
switch 문에서 인자로는 변수가 들어갈수 있고 수식도 들어갈 수 있다. 하지만 비교와 같은 조건식은 들어갈 수가 없다. 인자의 값에 해당되는 조건값을 가진 case가 실행이 된다. case는 여러개가 와도 상관이 없으며 break
가 있다면 해당 case를 실행한 후 바로 switch문이 종료된다. 자바스크립트에서 function의 return
과 비슷하다. 만약 break
가 없다면 case가 실행되고 다음 case도 실행된다. break를 만날때까지 실행된다. 마지막에는 default
가 있는데 이건 if문의 else와 같은 역할을 한다. 어떤 케이스에도 해당되지 않는다면 default
의 실행문이 실행된다. 어차피 마지막 실행이기 때문에 break
를 쓰지 않아도 상관은 없다. 조건값에는 정수형(byte, short, int) 또는 문자형(char)과 jdk7 이상 버전에서는 문자열도 들어갈 수 있다.
switch 예시
// 학점을 구하는 switch문 예시
switch(score/10) {
case 10 :
// grade = 'A'; break가 없으면 다음 case가 실행된다.
// break;
case 9 :
grade = 'A';
break;
case 8 :
grade = 'B';
break;
case 7 :
grade = 'C';
break;
case 6 :
grade = 'D';
break;
default :
grade = 'F';
break;
}
System.out.println("grade = "+grade);
score/10과 같이 인자로 수식이 들어갈 수도 있다.
// 월의 마지막일수 출력하기
switch(num) {
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
System.out.println(num+"월은 31일까지 있습니다.");
break;
case 2 :
System.out.println(num+"월은 28일 또는 29일까지 있습니다.");
break;
case 4 :
case 6 :
case 9 :
case 11 :
System.out.println(num+"월은 30일까지 있습니다.");
break;
default :
System.out.println("잘못 입력된 값입니다.");
}
같은 결과를 내는 case에는 break를 사용하지 않아 코드의 길이를 줄일 수도 있다.
반응형
'Programming > JAVA' 카테고리의 다른 글
[JAVA] 생성자(Constructor) (0) | 2020.02.19 |
---|---|
[JAVA] static과 static 메소드, static 변수 (0) | 2020.02.18 |
[JAVA] 기본 배열(Array) (0) | 2020.02.18 |
[JAVA] 데이터타입(기본타입, 참조타입) (0) | 2020.02.12 |
변수(Variable)과 CASTING (0) | 2020.01.12 |