언어 자료구조 알고리즘/디딤돌 Java 언어 Part1

[Java] 3.2 선택문

언제나휴일 2016. 4. 4. 09:27
반응형

출간일 2016년 11월 28일

판매가 2000원

형태 ebook


이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.

학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.

언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.



 3.2 선택문

 

 Java 언어에서는 특정 데이터의 값에 따라 수행할 구문을 선택하는 문법을 제공합니다. 이와 같은 문법을 일반적으로 선택문이라 부르며 switch case 문이라고도 부릅니다.

 

switch(데이터){

[case 상수:] [수행 statment;] [break;]

[case 상수:] [수행 statment;] [break;]

[default:] [수행 statment;] [break;]

}

 

 Java 언어에서 switch case 문은 switch 뒤의 괄호 내부에 데이터를 표현하고 그 값의 종류에 따라 case 상수 레이블(코드 내부에 콜론이 붙은 것)을 지정하여 수행할 위치를 정할 수 있습니다. 그리고 case 상수 레이블에 표현하지 않은 값일 때는 default 레이블 위치의 구문을 수행합니다.

 

private static void exSwitchCase() {

    int num = 0;

 

    System.out.println("정수를 입력하세요.");

    num = scanner.nextInt();

 

    switch(num){

    case 1: System.out.println("One");break;

    case 2: System.out.println("Two");break;

    case 3: System.out.println("Three");break;

    default: System.out.println("Other");break;

    }

}

1 입력 예

정수를 입력하세요.

1

One

2입력 예

정수를 입력하세요.

2

Two

4입력 예

정수를 입력하세요.

4

Other

[소스 3.4] exSwitchCase

 

 선택문으로 작성할 구문은 조건문을 이용해서 작성할 수 있습니다. 하지만 선택할 경우의 수가 많을 때는 조건문보다 효과적입니다.

 

private static void exIfVSSwitch() {

    int num = 0;

    System.out.println("정수를 입력하세요.");

    num = scanner.nextInt();

    if(num==0) {

        System.out.println("One");

    }

    else if(num==1){

        System.out.println("Two");

    }

    else if(num==2){

        System.out.println("Three");

    }

    else{

        System.out.println("Other");

    }

}

[소스 3.6] exIfVSSwitch

 

 선택문을 사용할 때 주의할 점은 시작할 위치를 결정하는 것이라 데이터 값에 따라 수행할 구문이 다를 때 수행 구문 뒤에 break; 문을 표시하여 switch case 문을 마칠 수 있게 해야 합니다.

 

private static void exSwitchCase2() {

    int num = 0;

    System.out.println("정수를 입력하세요.");

    num = scanner.nextInt();

 

    switch(num){

    case 1: System.out.println("One");

    case 2: System.out.println("Two");

    case 3: System.out.println("Three");

    default: System.out.println("Other");

    }

}

2 입력 예

정수를 입력하세요.

2

Two

Three

Other

[소스 3.6] exSwitchCase2 (break; 를 생략했을 때)

반응형