자바 - 루프 제어
안녕하세요, 미래의 자바 프로그래머 여러분! 오늘은 프로그래밍에서 가장 기본적인 개념 중 하나인 루프에 대해 다룰 것입니다. 여러분의 친절한 이웃 컴퓨터 과학 선생님으로서, 여러분을 이 여정을 안내해 드리게 되어 기쁩니다. 그럼, 좋아하는 음료를 준비하고 편하게 앉아서, 함께 이 루프의 모험에 떠나보겠습니다!
루프가 필요한 경우는?
화이트보드에 "저는 자바를 사랑해"라는 문구를 100번 쓰는 임무를 맡게 되었다고 상상해 봅시다. 지루하지 않나요? 이때 루프가 구원을 합니다! 루프는 우리가 코드를 여러 번 쓰지 않고 반복적으로 실행할 수 있게 해줍니다. 그들은 여러분의 개인 비서처럼, 피로를 걷지 않고 반복적인 작업을 수행해 줍니다.
루프 선언문
자바의 특정 타입의 루프에 들어가기 전에, 루프의 일반 구조를 이해해 봅시다:
- 초기화: 초기 조건을 설정합니다
- 조건: 루프가 계속되어야 하는지 확인합니다
- 본문: 실행될 코드
- 업데이트: 루프 변수를 수정합니다
이것을 경주를 준비하는 것과 같이 생각해 봅시다. 시작점에서 시작합니다(초기화), 결승선에 도달했는지 확인합니다(조건), 한 루프를 달립니다(본문), 그리고 앞으로 이동합니다(업데이트).
자바 루프
자바는 세 가지 주요 타입의 루프를 제공합니다. 각각을 예제와 설명으로 탐구해 봅시다.
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