프로그래밍 기술/안드로이드

[안드로이드] 29. Java break 문

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

break


반복문으로 로직을 작성하다보면 반복 수행할 구문을 수행 중에 특정 조건일 때 반복문을 탈출할 필요가 생깁니다.
이 때 break문을 사용하면 반복문을 탈출할 수 있습니다.
 
주의할 점은 선택문에서도 break문을 사용하고 있다는 점입니다.
예를 들어 반복문 내부에 if문이 있고 if문 내부에 break문이 있으면 반복문을 탈출합니다.
반면 반복문 내부에 선택문이 있고 선택문 내부에 break문이 있으면 선택문만 탈출합니다.
 
do while
문을 설명하면서 사용한 예제 코드를 보면 반복문 내부에 선택문이 있고 선택문 내부에 break문이 있는 구조를 살펴볼 수 있습니다.
여기서는 break문은 선택문을 탈출하는 용도로 사용한 것입니다.
 
여기서는 반복문 내부에 if문이 있고 if문 내부에 break문이 있는 간단한 예를 작성하여 살펴봅시다.
 
예로 사용할 시나리오는 다음과 같습니다.
사용자가 입력한 양의 정수의 합계를 구하는 문제입니다.
만약 입력한 정수가 음수이면 더 이상 입력받지 않고 현재까지 입력받은 양의 정수의 합계를 출력합니다.
그렇지 않다면 입력한 양의 정수를 합산하고 계속 진행할 것인지 여부를 묻습니다.
그리고 계속 진행하겠다고 입력하면 다시 반복합니다.
 
이의 알고리즘을 간략하게 표현하면 다음과 같이 나타낼 수 있을 것입니다.
 
 sum
0으로 초기화
 
반복(check가 참이면)
   
정수를 입력받아 num에 대입
   
조건(입력한 정수가 음의 정수이면)
       
반복문 탈출
    sum
sum+num을 대입
    check =
계속 입력할 것인지 여부
 sum
출력
 
위의 알고리즘의 반복문 내부의입력한 정수가 음의 정수이면이라는 조건에서 반복문을 탈출하려면 break문을 사용합니다.  
 
private static void exLoopIfBreak() {
    boolean check = true;
    int sum = 0;
    int num = 0;
    String s;
    System.out.println("입력한 양의 정수의 합을 계산합니다. 음수를 입력하면 끝남");
    while(check){
        System.out.println("정수 입력");
        num = scanner.nextInt();
        if(num < 0){
            System.out.println("음수를 입력하였군요. 작업을 완료할게요.");
            break;
        }
        sum += num;
        System.out.println("계속 입력(Y)");
        s = scanner.next();
        check = s.equals("Y");
    }
    System.out.println("입력한 양의 정수의 총 합은 "+ sum);
}

실행 결과
입력한 양의 정수의 합을 계산합니다. 음수를 입력하면 끝남
정수 입력
3
계속 입력(Y)
Y
정수 입력
-2
음수를 입력하였군요. 작업을 완료할게요.
입력한 양의 정수의 총 합은 3

반응형