Day08 - 제어문 continue

2021. 2. 25. 00:55JAVA 공부

이번에는 continue에 대해 알아 봅시다

 

continue는 이런 뜻을 가지고 있죠?

프로그래밍 내에서도 비슷한 뜻을 가지고 있는데요

 

반복문 내에서 사용이 됩니다.

continue를 만나면, 반복문의 처음으로 돌아가라 라는 뜻인데요

 

한번 예제를 봅시다

자 여기, 1부터 10까지 출력을 해주는 반복문이 있습니다.

결과 값은 1 2 3 4 5 6 7 8 9 10 이죠

그런데 중간에 if문을 사용해서 짝수일 경우 continue를 사용해 준다면,

이렇게 , 짝수일 경우에 continue를 만나서 아래 코드를 실행하지 않고, 다시 반복문으로 올라가서 계속해라 라는 뜻을 가집니다. 다시 올라갈 경우에 반복문은 한번 돌았다고 가정을 하기 때문에, for문의 증감연산자도 실행이 되게 됩니다.

 

그럼 while 반복문으로 사용할 땐 어떻게 해야하는지 볼까요?

결과는 똑같습니다. while의 제어변수는 바깥에서 선언이 되어야 하고, continue를 만나기 전에, 증감연산자를 사용해 주어야 원하는 값을 찾을 수 있습니다.

만약 짝수일 경우에 i++이 없다면, continue를 만나서 계속 다시 실행이 되기 때문에, 무한루프가 됩니다.

 

두 번째 예제를 봅시다

전에 정수를 입력받고, 해당 정수까지의 소수들의 합을 출력하는 코드를 작성해 본적이 있죠?

그런데, 여기에는 치명적인 문제가 하나 있습니다.

만약 정수를 높은수 예를 들면 123123 을 입력하게 되면, 반복문을 오래 실행하게 됩니다.

그 이유는, 만약 소수가 아니더라도 그 값과 같을 때 까지 계속 비교를 해주기 때문입니다.

123123일 경우, 123122 가 진즉에 소수가 아니라고 판명이 되도, 1부터 123122 끝까지 반복이 되죠?

그 후 1부터 123123까지 진즉 소수가 아니라고 판명이 되도, 1부터 123123 끝까지 반복이 됩니다.

 

그러면 소수가 아니라고 판명이 될 경우에는 continue를 써서 외부 for문으로 돌아가면 되겠네요?

if ( count > 2 ) continue 외부 반복문; 으로 해주면 됩니다.

이렇게 작성해 주시면 되겠습니다.

 

이렇게 제어문 - continue 에 대해 알아 보았습니다.

고생 하셨습니다

'JAVA 공부' 카테고리의 다른 글

Day09 - 배열의 수정  (0) 2021.02.25
Day08 - 배열의 값 추가  (0) 2021.02.25
Day08 - 디버그 모드를 실행하자  (0) 2021.02.24
Day07 - 버블 정렬  (0) 2021.02.23
Day07 - 선택 정렬  (0) 2021.02.23