몰입하며 나아가는 개발이란

Language/Java

[break;] (브레이크)

류하을 2019. 12. 1. 18:44

break;

break; 는 반복문을 빠져나오기 위해 사용하며, continue와는 다르다.

		/*
		 * break == loop탈출 -> void method 에서 return과 동일하게 작용한다. 
		 * 
		 * switch, for, while, do while 에서 사용이 가능하다.
		 */

break; 예제1)

		for (int i = 0; i < 10; i++) {
			System.out.println("i = " + i);
			if (i == 4) {
				break;
			}
		}
		// console result // 
		/* 
		 * i = 0
		 * i = 1
		 * i = 2
		 * i = 3
		 * i = 4
		 */

반복문의 조건이 i가 10보다 작을때까지 이지만,

반복문 안쪽 처리되는 if 문에 의하여 i가 4와 같으면 break를 실행하며 반복문이 종료된다.

 

break; 예제2)

		char cArr[] = { 'A', 'B', 'C', 'D', 'E' };

		for (int i = 0; i < cArr.length; i++) {
			System.out.println(i + " : " + cArr[i]);

			if (cArr[i] == 'D') {
				System.out.println("\'D\' 문자를 찾았습니다");
				break;
			}
		}
		// console result // 
		/* 
		 * 0 : A
		 * 1 : B
		 * 2 : C
		 * 3 : D
		 * 'D' 문자를 찾았습니다
		 */

cArr.length 는 5 이기 때문에 5번 실행을 반복해야하지만,

for문 처리 과정에서 if문 조건에 cArr[i] == 'D' 가 4번째에 위치하기때문에

4번째 실행시 break; 가 실행되며 for문이 종료된다.

 

다양한 loop 탈출방법

		// 1.탈출방법
		boolean b = false;
		for (int i = 0; i < 10; i++) {
			System.out.println("i = " + i);

			for (int j = 0; j < 5; j++) {
				System.out.println("\t j = " + j);
				if (i == 4 && j == 3) {
					b = true;
				}
				if (b == true) {
					break;
				}
			}
			if (b == true) {
				break;
			}
		}

		// 2.탈출방법
		outside: for (int i = 0; i < 10; i++) {
			System.out.println("i = " + i);

			for (int j = 0; j < 5; j++) {
				System.out.println("\t j = " + j);
				if (i == 4 && j == 3) {
					break outside;
				}
			}
		}

첫번째 방법은 이중 for 문을 탈출하기 위해 조건문 밖에서 boolean b 를 선언하고,

for 문 안쪽에서 이 값이 true 가 되었을때 break; 를 실행하는 if 문을 설치하여 이중 for문을 빠져나오는 모습이다.

 

두번째 방법은 break 뒤에 rabel name을 적어줌으로 써 빠져나올 for문 앞에 rabel을 붙여 이중 for 문을 빠져나오는 모습이다. 3중 for 문도 이와 같은 방법으로 빠져나올 수 있다.