연습하는것들/예시들

continue 예시

Hesitater 2021. 9. 1. 13:50
728x90

사전적 의미의 continue의 뜻은 계속하다, 이어가다..등등..

자바언어에서도 이와 비슷한 성격을 가지고 있습니다.

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

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

예제들을 통해 알아볼께요

2개의 for문이 있는데 차이를 보시면

2번째 for문에 if조건문 i % 2 == 0 대입하고 continue가 쓰였죠.

결과값

결과를 보시면 첫번째 for문은 1~10까지의 숫자를 다 출력했다면

2번째 for문에서는 1~10까지중 2로 나눈 나머지가 0인 경우

continue를 만나서 아래 코드를 실행하지 않고, 다시 반복문으로 올라가서 다시 계속 됩니다.

while문 반복문에서는 어떻게 쓰이는지 예시로 확인해봅시다

결과값은 1 3 5 7 9 11 로 나옵니다

while문에서 continue값을 넣어보겠습니다.

contunue를 집어 넣으면

결과값 이렇게 나옵니다.

while의 제어변수는 바깥에서 int i = 1; 이 선언 되어야하고 continue 만나기전에 증감연상자를 사용해 주면 원하는 값을 찾을 수 있습니다. 만약 짝수일 경우에 i++이 없다면 continue 를 만나서 계속 실행 되기 때문에 무한루프가 됩니다.

continue가 있고 없음에 차이가 있는 예시를 들어보겠습니다.

continue가 없는 정수를 입력받고, 해당 정수까지의 소수들의 합을 구하여 출력하는 코드입니다.

결과값

결과값이 잘 나오는데요. 여기에 문제점이 하나 있습니다.
지금 같은 경우에는 정수의 숫자가 작아서 출력하는데 그리 시간이 걸리지 않습니다.
다만 예를 들어 123456 이정도의 숫자만 되어도 출력하는데 시간이 많이 걸리게 되더라구요
그 이유는 1~123456 까지 값들중 소수가 아니더라도 그 값과 같을때 까지 계속 비교해주기 때문입니다.
말 그대로 내가 필요하지 않는 숫자까지도 검사를 하게 된다는거죠

그러면 소수가 아닌 숫자에 대해서 continue를써서 for문으로 돌아가면 조금 더 빠르게 진행되지 않을까요?

if ( count > 2 ) continue 외부반복문; 넣어서 보면

결과값

continue가없는 예시문으로 할 때 보다 시간이 단축됩니다.

제어문 -continue 의 예시들은 quiz를 통해 한번 더 해봅시다

 

'연습하는것들 > 예시들' 카테고리의 다른 글

반목문 While 예시들  (0) 2021.08.28
if문 스위치 문으로 바꾸기 예시  (0) 2021.08.26
Switch (스위치문)  (0) 2021.08.26
if예제  (0) 2021.08.26