파게로그

break문에서의 label 본문

콤퓨타 왕기초/Java

break문에서의 label

파게 2020. 11. 12. 00:10

C에서처럼 Java에서도 goto문이 있었나보다.

 

지금은 break \[label\];과 같이 label 개념이 있어서, 반복문을 한 번에 빠져나올 수 있다.

 

이걸 모르고 지금까지 flag 같은 변수를 만들어 썼으니...

레퍼런스를 꼼꼼히 읽지 않았기에, 전적으로 내 잘못이다.

 

package ex4.iter.label;

import java.util.Scanner;

public class Ex4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        outer: // label
        while (true) {
            // display menu
            System.out.println("1. 인사받기");
            System.out.println("2. 더하기 계산기");
            System.out.println("3. 종료하기");

            // get menu from user
            System.out.print("메뉴 입력: ");
            int menu = sc.nextInt();

            // execute business logic for menu
            switch (menu) {
            case 1:
                System.out.println("Hello!");
                break;
            case 2:
                int a, b;
                System.out.print("첫번째 숫자: ");
                a = sc.nextInt();
                System.out.print("두번째 숫자: ");
                b = sc.nextInt();
                System.out.printf("%d + %d = %d\n", a, b, a + b);
                break;
            case 3:
                System.out.println("종료합니다.");
                break outer; // switch문이 아니라, 'outer' label이 달린 while문이 종료된다.
            default:
                System.out.println("잘못 누르셨습니다.");
            }
        }

        sc.close();
    }
}

'콤퓨타 왕기초 > Java' 카테고리의 다른 글

method overloading in Java  (0) 2020.11.16
다른 언어와 헷갈리는 문법을 모아보자  (0) 2020.11.14
입출력  (0) 2020.11.08
기본 자료형과 연산자  (0) 2020.11.08
Windows에서 cmd로 Java 프로그램 컴파일  (0) 2020.10.30
Comments