Categories: Java 언어Korean

Java 총 정리[18. break, continue]

break문 continue문

제어문인 조건문과 반복문에 대한 사용 방법은 이전 걸음에서 배웠습니다. 그럼 반복문 같은 경우 조건에 의해서 반복을 하다가 그 안에서 뭔가 제어를 할 수 있는 명령문이 있지 않을까? 이런 생각을 한 적이 있지 않나요?  반복문을 실행하는 경우에 중간에서 원하는 결과가 나오도록 하는 명령문이 없을까 저도 생각을 많이 했습니다.

이제 제어문에 마지막 명령어 입니다. 이 명령어들은 반복문에서 주로 사용 되어서 원하는 시점에 반복문을 멈추고 나오거나 또는 원하는 시점에서 다시 반복문 처음으로 끌어 올릴 수 있게 하는 명령문 입니다. 이 명령문을 잘 사용을 하신다면 반복문을 좀 더 원하는 결과가 나오게 구현을 하실 수 있습니다.

반복문을 탈출하거나 또는 다시 반복문 처음으로 올리는 명령문은 break문과 continue문이 있습니다. 이 두 명령문을 자세히 이야기를 해보겠습니다. 그래도 결국 많이 사용하고 만들어 보셔야 적재적소에 break와 continue를 사용을 하 실 수 있습니다. 이 글을 끝까지 읽으신다면 break문과 continue문이 무엇인지 확실히 이해를 하실 수 있습니다.

break문

break문은 두 가지에서 사용이 됩니다. 우선 첫 번째로는 조건문에서 사용이 되는데 switch문에서 case조건이 맞고 명령문을 실행을 한 이후에 break; 문을 사용해서 switch문을 탈출하게 합니다. 두 번째로는 반복문에서 break 본인을 쌓고 있는 반복문만 탈출을 하게 해줍니다.

※ 여기서 중요한 것은 중첩 반복문을 사용해서 구현이 되어 있는 경우 break 쓰면 반복문 전체를 나가는 것이 아닙니다. 하나의 반복문만 나가는 걸 이해를 하셔야 합니다.

※만약 switch문과 반복문을 같이 쓰는 경우에 switch문에 사용되는 break는 switch만 탈출 할 때 사용이 됩니다. 반복문을 탈출 시켜주지 않습니다.

위의 예시처럼 반복문이 싸고 있고 인접한 반복문만 탈출을 합니다. 그리고 switch문을 사용하는 경우에는 위에 예시처럼 사용해서 탈출을 시켜줄 수 있습니다.

    
public static void main(String[] args) {
 // TODO Auto-generated method stub
 int i = 0; // 정수 변수 i를 선언후 0을 대입
 while(i <10) { // i가 10보다 작으면 반복
  while(true) {// 무한반복
   System.out.println("내부 while문"+i); //출력
   if(i  > 5) { // i가 5보다 크면 실행
    break; // break를 싸고 있는 반복문 하나 탈출
   }
   i++; //i변수 1씩증가
  }
  System.out.println("외부 while문"+i);//출력
  i++;//i변수 1씩 증가
 }
}        
    

continue문

continue문은 반복문 동작을 하는 경우 어떤 특정 시점에 조건을 정의 하고 그 시점이 오면 continue 명령문 밑에 명령문을 실행하지 않고 다시 반복문의 조건이 있는 곳으로 올려주는 동작을 합니다.

※ 초기화 되는 것이 아닙니다. 반복문으로 끌어 올려주고 상황은 바뀌는 것이 아닙니다.

위에 예시를 보면 첫 번째 예시 같은 경우 0~9까지 반복되고 출력이 되는데 5인 시점에 continue가 있어서 5만 출력이 되지 않습니다. 두 번째 예시는 0~5까지 동작을 하는데 0~4까지는 출력이 되고 5가 되는 시점에 반복문으로 올라가서 6이 되면서 탈출을 하게 됩니다. 

※ 두 번째 예시의 경우에 의해서 break라고 생각하는 경우가 있는데 continue에 의해서 올라가서 조건이 우연하게 탈출이 된 것입니다.

    
public static void main(String[] args) {
 // TODO Auto-generated method stub
 //정수 변수 i를 선언 후 0 대입 i가 6보다 작으면 반복
 //한번 반복할 때마다 i는 1씩 증가
 for(int i = 0;i<6;i++) { 
  if(i == 5) {//i가 5이면 실행
   continue;//아래 명령문을 실행 X 반복문 위치로 이동
  }
  System.out.println(i);// 출력
 }
}        
    

break문과 continue문의 유의 사항

break문과 continue문을 반복문을 제어를 하기 위해서 사용을 하는 경우 보통 if문과 함께 쓰입니다. 그래야 그 조건일 때 동작이 되도록 하기 때문입니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

8개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

9개월 ago

This website uses cookies.