-
Java | 탈출문 Break, ContinueJAVA/JAVA 2020. 1. 17. 17:09
탈출문
제어문(대부분 반복문) 중에서 특정 조건에 따라
더 이상 코드를 실행하지 않고 중간에 빠져나가는 경우에 사용하는 구문
Break문
반복문 내의 코드가 실행되다가 break를 만나면
코드의 실행을 중지하고 반복문 밖으로 빠져나감
유형1_레이블이 없는 Break문
조건문에 따라 break문을 만나게 되면
break문과 가장 가까운 루프에서 탈출함일반적인 break문이며 대부분의 경우에 해당함
public class BreakTest { public static void main(String[] args) { for (int a = 0; a < 3; a++) { for (int b = 0; b < 6; b++) { // b가 2가 되었을 때 해당 루프에서 탈출하도록 함 if(b==2) break; System.out.println("a: " + a + ", b: " + b); } System.out.println("======"); /* a: 0, b: 0 a: 0, b: 1 ========== a: 1, b: 0 a: 1, b: 1 ========== a: 2, b: 0 a: 2, b: 1 ========== */ } } }
※ b가 2가 되면 내부 for문에서 바로 탈출하기 때문에 a값은 0~2가 출력된 반면 b의 값은 0, 1까지만 출력됨
유형2_레이블이 있는 Break문
break문으로 루프를 탈출할 때 레이블을 사용하면 원하는 위치까지 벗어날 수 있음
형식) break 레이블명;
빠져나가길 원하는 for문의 바로 위에 레이블명:public class BreakTest2 { public static void main(String[] args) { A: // 레이블명: 탈출하고 싶은 for문의 바로 위에 레이블 작성 for (int a = 0; a < 3; a++) { for (int b = 0; b < 6; b++) { if(b==2) break A; // break 레이블명; System.out.println("a: " + a + ", b: " + b); } System.out.println("======"); /* a: 0, b: 0 a: 0, b: 1 */ } } }
※ b의 값이 2가 되는 순간 바깥쪽 for문 밖으로 탈출하기 때문에 a: 0, b: 1 이후의 값은 출력되지 않음
Continue문
skip문이라고도 하며, 특정 조건에 만족하는 continue문을 만나게 되면
continue문 바로 아래의 문장을 수행하지 않고 반복문의 종류에 따라 정해진 위치로 이동while, do~while문: 조건식으로 이동
for 문: 증감식으로 이동가장 가까운 루프에 적용됨
사용례
public class ConTest { public static void main(String[] args) { for (int a = 0; a < 2; a++) { for (int b = 0; b < 6; b++) { // b가 짝수일 때 continue 바로 아래의 코드를 실행하지 않고 증감식으로 넘어감 if (b % 2 == 0) continue; System.out.println("a: " + a + ", b: " + b); } System.out.println("======"); } /* a: 0, b: 1 a: 0, b: 3 a: 0, b: 5 ========== a: 1, b: 1 a: 1, b: 3 a: 1, b: 5 ========== */ } }
※ continue문도 break문처럼 레이블을 사용할 수는 있지만 잘 사용하지는 않음
반복문에서 빠져나가야 하거나 특정 조건 아래의 코드를 실행하지 않고 넘어갈 때 사용하는
break문과 continue문에 대해 알아보았습니다.
레이블을 사용하면 break로 빠져나갈 수 있는 for문을 지정할 수 있기 때문에
현재 for문의 가장 바깥 for문으로 탈출하거나 할 때 사용할 수 있겠습니다.'JAVA > JAVA' 카테고리의 다른 글
Java | Abstraction 추상화 & Class 개요 및 생성 (0) 2020.01.20 Java | OOP(객체 지향 프로그래밍) 개요 & Method (0) 2020.01.20 Java | 반복문_While, Do~While문 (0) 2020.01.17 Java | 반복문_중첩 For문 (0) 2020.01.17 Java | 반복문_For문 (0) 2020.01.17