자바 - Continue 문: 초보자를 위한 친절한 가이드

안녕하세요, 미래의 자바 프로그래머 여러분! 오늘은 자바 프로그래밍의 흥미로운 부분인 continue 문에 대해 다룰 거예요. 코딩에 새로운 여러분도 걱정 마세요; 저는 수년 동안 학생들을 가르쳤던 것처럼 단계별로 이 개념을 안내해 드릴 거예요. 그럼, 커피 한 잔을 마셔요 (아니면 차라도 좋죠), 함께 이 코딩 모험에 떠나요!

Java - Continue

Continue 문이란 무엇인가요?

자세히 다루기 전에 continue 문이란 무엇인지 이해해 보죠. 책을 읽다가 지루한 장을 만났을 때 무엇을 하죠? 그 장을 건너뛰고 다음 장으로 넘어가죠, 맞죠? 자바에서 continue 문은 정확히 이런 일을 합니다!

continue 문은 루프에서 현재 반복을 건너뛰고 다음 반복으로 이동할 수 있게 해줍니다. 코드에 "이 부분을 건너뛰고 다음으로 넘어가자!"라고 말하는 것과 같아요!

문법

continue 문의 문법은 매우 간단합니다:

continue;

그렇습니다! 단 하나의 단어로 많은 일을 합니다. 그러나 이 간단함에 속지 마세요; 올바르게 사용하면 이 작은 문장이 매우 강력할 수 있습니다.

Continue가 어떻게 작동하는지: 플로우 다이어그램

continue가 어떻게 작동하는지 더 잘 이해하기 위해 플로우 다이어그램을 살펴보죠:

[루프 시작]
|
v
[루프 조건]
|
v
[루프 본체]
|
v
[continue 발견]
|
v
[나머지 루프 본체 건너뛰기]
|
v
[다음 반복으로 이동]

보시다시피, continue가 발견되면 즉시 루프의 시작으로 돌아가 현재 반복에 남은 코드를 건너뛰게 됩니다.

예제: 손을 더러워보죠!

이제 continue가 실제로 어떻게 작동하는지 보기 위해 몇 가지 예제를 살펴보죠. 믿어주시면 됩니다, 이를 본 후 "아하!"라는 순간이 올 것입니다.

예제 1: 짝수 건너뛰기

1부터 10까지의 홀수를 출력하고 싶다고 가정해 봅시다. continue를 사용하여 이를 어떻게 할 수 있을지 살펴보죠:

for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}

출력:

1
3
5
7
9

이 예제에서는 i가 짝수일 때 (즉, i % 2 == 0일 때), continue를 사용하여 루프 본체의 나머지 부분을 건너뛰고 다음 반복으로 이동하여 홀수만 출력합니다.

예제 2: 특정 값 건너뛰기

좋아하는 숫자 목록을 만들고 싶지만, 숫자 7은 제외하고 싶다고 가정해 봅시다. 이를 어떻게 할 수 있을지 살펴보죠:

int[] favoriteNumbers = {3, 7, 11, 15, 7, 20, 25};

for (int number : favoriteNumbers) {
if (number == 7) {
continue;
}
System.out.println("나는 " + number + "이(가) 좋아요");
}

출력:

나는 3이(가) 좋아요
나는 11이(가) 좋아요
나는 15이(가) 좋아요
나는 20이(가) 좋아요
나는 25이(가) 좋아요

이 예제에서는 숫자 7을 만나면 continue를 사용하여 건너뛰고 배열의 다음 숫자로 이동합니다.

예제 3: while 루프에서 continue 사용

continue 문은 for 루프뿐만 아니라 while 루프에서도 작동합니다! 예제를 살펴보죠:

int i = 0;
while (i < 5) {
i++;
if (i == 3) {
continue;
}
System.out.println("현재 i의 값: " + i);
}

출력:

현재 i의 값: 1
현재 i의 값: 2
현재 i의 값: 4
현재 i의 값: 5

이 예제에서는 i가 3이 되면 그 값을 출력하지 않고 다음 반복으로 이동합니다.

언제 Continue를 사용하나요?: 베스트 프랙티스

이제 continue가 어떻게 작동하는지 본 후, "언제 사용해야 하나요?"라는 질문이 떠오를 수 있습니다. 좋은 질문입니다! continue를 특히 유용하게 사용할 수 있는 몇 가지 시나리오를 소개합니다:

  1. 필터링: 특정 조건을 만족하는 수집체의 특정 요소만 처리하고 싶을 때.
  2. 반복 건너뛰기: 특정 조건에 따라 반복을 건너뛰고 싶을 때.
  3. 가독성 향상: 때로는 continue를 사용하면 깊이 중첩된 if-else 문을 피할 수 있어 코드의 가독성을 높일 수 있습니다.

하지만, 큰 힘에는 큰 책임이 따르는 법입니다. continue를 과도하게 사용하면 코드의 가독성을 떨어뜨릴 수 있습니다. 지혜롭게 사용하세요!

주의할 점: 레이블付き Continue

자바는 더 복잡한 형태의 continue인 "레이블付き continue"도 지원합니다. 이는 중첩된 루프에서 사용되지만, 올바르게 사용하기는 약간 까다롭습니다. 빠른 예제를 보여드리죠:

outerLoop: for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 1 && j == 1) {
continue outerLoop;
}
System.out.println("i = " + i + ", j = " + j);
}
}

이는 i가 1이고 j가 1일 때 outerLoop를 계속합니다. 매우 강력한 기능이지만, 필요할 때만 살짝 사용하시길 바랍니다.

마무리

그렇게 continue 문에 대해 자바에서 배웠습니다. 간단한 문법에서부터 실제 응용까지, continue를 사용하여 루프를 더 효율적이고 우아하게 만드는 방법을 잘 이해했습니다.

기억해요, 프로그래밍은 자전거 타기를 배우는 것과 같아요. 처음에는 흔들리겠지만, 연습만 하면 곧 빠르게 달릴 수 있을 테니까요. 그럼, 계속 코딩하고, 실험하며, 가장 중요한 것은 즐기세요!

다음 번에 뵙겠습니다, 즐거운 코딩하세요!

Credits: Image by storyset