foxpacking

Programming Lessons

Java 언어 Korean

Java 총 정리[18. break, continue]

break문 continue문

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

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

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

break문

break 사진

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

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

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

break정리 사진

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

break 예제 소스와 실행 사진
    
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문은 반복문 동작을 하는 경우 어떤 특정 시점에 조건을 정의 하고 그 시점이 오면 continue 명령문 밑에 명령문을 실행하지 않고 다시 반복문의 조건이 있는 곳으로 올려주는 동작을 합니다.

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

continue 정리 사진

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

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

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

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나