자바 - 루프 제어

안녕하세요, 미래의 자바 프로그래머 여러분! 오늘은 프로그래밍에서 가장 기본적인 개념 중 하나인 루프에 대해 다룰 것입니다. 여러분의 친절한 이웃 컴퓨터 과학 선생님으로서, 여러분을 이 여정을 안내해 드리게 되어 기쁩니다. 그럼, 좋아하는 음료를 준비하고 편하게 앉아서, 함께 이 루프의 모험에 떠나보겠습니다!

Java - Loop Control

루프가 필요한 경우는?

화이트보드에 "저는 자바를 사랑해"라는 문구를 100번 쓰는 임무를 맡게 되었다고 상상해 봅시다. 지루하지 않나요? 이때 루프가 구원을 합니다! 루프는 우리가 코드를 여러 번 쓰지 않고 반복적으로 실행할 수 있게 해줍니다. 그들은 여러분의 개인 비서처럼, 피로를 걷지 않고 반복적인 작업을 수행해 줍니다.

루프 선언문

자바의 특정 타입의 루프에 들어가기 전에, 루프의 일반 구조를 이해해 봅시다:

  1. 초기화: 초기 조건을 설정합니다
  2. 조건: 루프가 계속되어야 하는지 확인합니다
  3. 본문: 실행될 코드
  4. 업데이트: 루프 변수를 수정합니다

이것을 경주를 준비하는 것과 같이 생각해 봅시다. 시작점에서 시작합니다(초기화), 결승선에 도달했는지 확인합니다(조건), 한 루프를 달립니다(본문), 그리고 앞으로 이동합니다(업데이트).

자바 루프

자바는 세 가지 주요 타입의 루프를 제공합니다. 각각을 예제와 설명으로 탐구해 봅시다.

1. For 루프

For 루프는 스위스军刀처럼 다재다능하고 정밀합니다. 정확히 몇 번 반복할지 알 때에 완벽합니다.

for (int i = 1; i <= 5; i++) {
System.out.println("루프 반복: " + i);
}

이것을 분석해 봅시다:

  • int i = 1: 루프 변수를 초기화합니다
  • i <= 5: 이 조건이 참인 동안 루프를 계속합니다
  • i++: 각 반복 후 i를 증가시킵니다
  • 본문은 현재 반복 번호를 인쇄합니다

출력:

루프 반복: 1
루프 반복: 2
루프 반복: 3
루프 반복: 4
루프 반복: 5

2. While 루프

While 루프는 클럽의 보안원과 같습니다. 조건을 계속 확인하고, 조건이 참일 때만 코드 내부를 실행합니다.

int count = 0;
while (count < 3) {
System.out.println("카운트: " + count);
count++;
}

이렇게 일어납니다:

  • count를 0으로 시작합니다
  • count가 3보다 작을 동안 루프를 계속합니다
  • 각 반복에서 현재 카운트를 인쇄하고 증가시킵니다

출력:

카운트: 0
카운트: 1
카운트: 2

3. Do-While 루프

Do-While 루프는 끈기 있는 영업사원과 같습니다. 적어도 한 번은 코드를 실행한 후, 계속할지 확인합니다.

int num = 1;
do {
System.out.println("숫자는: " + num);
num *= 2;
} while (num < 10);

이것을 분석해 봅시다:

  • num을 1로 시작합니다
  • 루프 본문을 실행하여 숫자를 인쇄하고 두 배로 늘립니다
  • 각 반복 후 num이 여전히 10보다 작은지 확인합니다

출력:

숫자는: 1
숫자는: 2
숫자는: 4
숫자는: 8

루프 제어 선언문

때로는 루프에 더 많은 제어를 필요로 하습니다. 그럴 때 루프 제어 선언문이 매우 유용합니다. 그들은 루프 차량의 조향장치와 브레이크와 같습니다.

1. Break 선언문

Break 선언문은 긴급 출구와 같습니다. 루프를 즉시 종료하고, 루프 다음 문장으로 이동합니다.

for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println("현재 번호: " + i);
}

이 예제에서는 i가 5에 도달할 때 루프가 멈춥니다, 비록 10까지 설정되었더라도.

출력:

현재 번호: 1
현재 번호: 2
현재 번호: 3
현재 번호: 4

2. Continue 선언문

Continue 선언문은 플레이리스트에서 노래를 건너뛰는 것과 같습니다. 현재 반복의 나머지 부분을 건너뛰고 다음 반복으로 이동합니다.

for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
System.out.println("처리 중인 번호: " + i);
}

이 루프는 i가 3일 때 인쇄를 건너뜁니다.

출력:

처리 중인 번호: 1
처리 중인 번호: 2
처리 중인 번호: 4
처리 중인 번호: 5

3. 레이블 선언문

레이블 선언문은 루프에 이름을 붙이는 것과 같습니다. 이들은 중첩된 루프에서 특정 외부 루프를 break하거나 continue할 때 매우 유용합니다.

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

이 중첩된 루프 구조는 i가 2이고 j가 2일 때 두 루프를 모두 빠져나갑니다.

출력:

i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1

결론

축하합니다! 여러분은 자바 루프와 루프 제어 선언문에 대한 급격한 투어를 마쳤습니다. 기억해 두세요, 루프는 여러분의 프로그램의 심장 박동과 같습니다 - 원활하고 효율적으로 실행되도록 해줍니다. 자바 여정을 계속할 때, 이 개념들을 자주 사용하게 될 것입니다.

다음은 우리가 다룬 루프와 제어 선언문에 대한 빠른 참조 표입니다:

루프 타입 사용 사례 주요 포인트
For 루프 반복 횟수를 알 때 간결한 문법, 배열에 적합
While 루프 반복 횟수를 모를 때 실행 전에 조건을 확인
Do-While 루프 적어도 한 번 실행할 필요가 있을 때 실행 후 조건을 확인
Break 루프를 조기로 종료할 때 모든 루프 타입에서 작동
Continue 현재 반복을 건너뛰고 싶을 때 모든 루프 타입에서 작동
레이블 선언문 중첩된 루프를 제어할 때 복잡한 루프 구조에 유용

이 개념들을 연습하고, 다양한 시나리오에서 실험해 보세요. 곧 프로처럼 루프를 사용할 수 있을 것입니다! 프로그래밍과 인생에서도, 때로는 원을 돌아야만 진행할 수 있습니다. 즐거운 코딩!

Credits: Image by storyset