상세 컨텐츠

본문 제목

JAVA :: Switch-case

Java

by javadocq 2024. 7. 14. 12:00

본문

728x90

JAVA에서 선택문, 조건문은 if와 switch case 이 두가지가 있다.

 

저번에 if문에 대한 기초와 확장 버젼도 알아보았으니 이번에는 switch case 구문을 알아보도록 하겠다.

 

1. switch(변수) case: ;

switch case 구문에서는 조건식이 따로 들어가지 않는다. 

 

변수를 정의를 하고 case(값)에 따라 다른 실행문이 실행되게 한다.

 

if문과 다른 점은 조건식을 사용할 수 없다보니 간단하게 구분을 해야할 때 많이 사용하는 편이다.

 

그래서 int형, char형이 switch case에 많이 사용된다. 한 번 코드로 이해를 해보자.

 

int a = 5;

switch (a) {
    case 1: System.out.println("1");
    case 3: System.out.println("3");
    case 5: System.out.println("5");
    case 7: System.out.println("7");
    case 9: System.out.println("9");
}

 

switch 구문에서 변수를 a(a의 값 5)로 넣는 예시이다. 

 

이제 중괄호 안에 들어가게 되면 case의 값에 해당하는 실행구문이 실행이 된다. 

 

우리는 a의 값이 5라는 것을 알고 있으니 case 5: System.out.println("5");가 실행되어야 한다. 결과 값을 한번 보자.

 

5
7
9

 

5만 출력이 되는 줄 알았는데 case 7: case 9: 실행문도 실행이 되는 걸 확인할 수 있다.

 

왜 이렇게 되는 걸까?

 

그 이유는 switch case 구문의 특성이기 때문이다. switch case는 case에 해당하는 줄을 만나게 되면 그 줄부터 case 끝까지

 

실행이 되는 특성을 가지고 있다. 그래서 5 7 9 가 출력이 되는 것이다. 

 

그러면 5만 출력이 되게 하려면 어떻게 해야할까?

 

조건식 안에 break문을 사용하는 것이다.

 

switch (a) {
    case 1: System.out.println("1"); break;
    case 3: System.out.println("3"); break;
    case 5: System.out.println("5"); break;
    case 7: System.out.println("7"); break;
    case 9: System.out.println("9"); break;
}

 

5

 

 

2. switch(변수) case: defalut: ;

 

default:가 추가된 조건문인데 if에서 else의 역할을 한다고 보면 된다.

 

해당하는 case가 없을 때 default 구문이 실행되는 것이다.

 

int a = 13;

switch (a) {
    case 1: System.out.println("1"); break;
    case 3: System.out.println("3"); break;
    case 5: System.out.println("5"); break;
    case 7: System.out.println("7"); break;
    case 9: System.out.println("9"); break;
    default: System.out.println("11");
}

 

11

 

'Java' 카테고리의 다른 글

JAVA :: While 반복문  (0) 2024.07.19
JAVA :: FOR 반복문  (0) 2024.07.18
JAVA :: 조건문 IF  (0) 2024.07.13
JAVA :: == 와 equals()  (0) 2024.07.12
Java :: 입출력  (0) 2024.07.11

관련글 더보기