자바 프로그래밍, switch 문 설명
본문 바로가기
기타 및 프로그래밍(Java)

자바 프로그래밍, switch 문 설명

by 환희의찬가 2022. 4. 19.
반응형

안녕하세요~ 저번 게시물에서 if구문에 대해 알아 보았는데요. 

이번에는 switch무에 대해 한번 알아 보도록 하겠습니다. 

switch문은 어떤 변수의 값에 따라서 문장을 실행할 수 있도록 하는 제어문입니다. 

 

아래는 switch문에 대해 꼭 기억해야 할 개념입니다. 한번만 읽고 숙지해 주세요~ 

• switch 문은 어느 문이 다음에 수행될 지를 결정하는 또 다른 방법을 제공한다.

• switch 문은 연산식을 계산하여 그 결과가 여러 경우들의 하나와 같은지를 확인한다.

• 각 경우는 하나의 값과 문들의 목록을 가진다.

• 연산식의 계산 값과 같은 첫번째 경우에 해당하는 문들을 수행한다.

 

예시1) Switch 문 

               switch (연산식) {

                 case 값1 : 문 목록 1

                 case 값2 : 문 목록 2

                 case 값3 : 문 목록 3

                        • • •

                default: 문 목록 x

        }

 

• 문 목록은 문들의 나열이다. 문 목록은 보통 break 문으로 끝난다.

• 연산식의 계산 결과가 여러 값들의 하나와 같다면 그에 대응하는 문 목록을 실행한다.

• 자주 break 문이 각 case의 문 목록의 마지막 문으로 사용된다.

• break 문은 제어 흐름을 switch 문의 다음 문으로 이동하게 한다.

• break 문이 사용되지 않는다면 제어 흐름은 다음 case의 문 목록으로 이동한다 

 

예시2) Switch문 

아래 처럼 value의 값이 1일 경우 1을 출력하고, 2일 경우는 2를 출력하고, 3일 경우는 3을 출력하고, 그 외에는 그 외의 숫자가 출력한다.

switch문 예제

• 때때로 이것이 적절할지 모른다. 그러나 우리는 자주 각 case에 대응된 문들만 실행하기를 원한다.

• 또한 switch 문은 선택사항으로 기본(default) case를 가질 수 있다. 이 경우는 연산식의 계산 결과가 어떤 값들과도 같지 않다면 수행된다.

• switch 문의 연산식의 결과 값은 int 형이나 char 형 값이어야 한다.

• 각 case의 값은 상수여야 한다

 

// grade 는 char 형 변수이다.

     switch (grade) {

       case 'A' : aCount++;

                            break;

       case 'B' : bCount++;

                            break;

       case 'C' : cCount++;

                            break;

       case 'D' : dCount++;

                            break;

        default : fCount++;

                            break;

}

알고리즘

// FindMaxMin.java: 두 정수의 최대값과 최소값을 구한다

import java.util.Scanner;

public class FindMaxMin {

    public static void main(String[] args) {

     // 변수들을 선언한다

     int number1, number2, maximum, minimum;

    Scanner scan = new Scanner(System.in);

 

    // 두 개의 정수 값을 읽어 들인다

    System.out.println("두 개의 정수 값을 입력 하세요: ”);

    number1 = scan.nextInt();

    number2 = scan.nextInt();

 

   // 두 개의 정수 값을 비교하여 최대값과 최소값을 구한다

   if (number1 > number2) { maximum = number1; minimum = number2; }

  else { maximum = number2; minimum = number1; }

 

   // 최대값과 최소값을 출력한다

   System.out.println("최대값은 ” + maximum + ”이다“);

   System.out.println("최소값은 ” + minimum + ”이다“);

  }

}

 

어렵지 않으시죠? 프로그래밍은 반복해서 하면서 익숙해지는게 중요하니 오늘도 예제문 같고 30분만 노력해 봅시다. 

반응형

댓글


TOP

Designed by 티스토리