- 최대한 기초가 거의 없는 분들의 입장에서 정리해본 내용이므로, 어려운 개념들은 가급적 포함시키지 않거나 최대한 간단하게만 표현하였습니다.
- Java 세팅 및 실습은 Windows 환경에서 IntelliJ를 통해 진행되었습니다.
- (참고) IntelliJ 코드 실행 단축키
- Windows, Linux : Shift+F10
- MacOS : Ctrl+R
7. 반복문(Iteration)
- 자바에서 반복문은 특정 코드를 여러 번 반복 실행할 때 사용됩니다.
- 반복문은 프로그램의 흐름을 제어하며, 반복 횟수나 조건에 따라 다양한 방식으로 구현할 수 있습니다.
- 자바에서 자주 사용되는 반복문에는 for, while, do-while 문이 있습니다.
- 각각의 반복문에 대해 설명하고 예시를 들어 정리하겠습니다.
7-1. for문
- for 문은 반복 횟수가 명확할 때 주로 사용됩니다.
- 초기화, 조건 검사, 증감식을 한 줄로 표현할 수 있어 코드가 간결합니다.
for문 구문
for (초기화; 조건식; 증감식) {
}
- 초기화: 반복문이 시작될 때 한 번 실행되며, 보통 반복 제어 변수를 초기화하는 데 사용됩니다.
- 조건식: 반복이 계속될지 여부를 결정하는 조건입니다.
- 조건식이 참(true)일 경우 반복이 계속되고, 거짓(false)일 경우 반복이 종료됩니다.
- 증감식: 반복할 때마다 실행되며, 반복 제어 변수를 업데이트합니다.
for문 예시
for (int i = 0; i < 5; i++) {
System.out.println("i: " + i);
}
실행 결과
i: 0
i: 1
i: 2
i: 3
i: 4
- 위 예시처럼 반복문에서만 쓰이는 반복 제어변수
i
를 0으로 초기화하고, 조건식 (i < 5)
을 만족할 때까지 반복하게 됩니다.
- 이때 증감식을 통해 반복하는 변수의 간격을 설정할 수 있습니다.
- 가독성을 위해 주로
i++
처럼 쓰이긴 하지만, i += 1
처럼 쓸수도 있습니다.
7-1-부록. 향상된 for문 (Enhanced for Loop)
- 향상된 for 문은 배열이나 컬렉션을 순회할 때 사용됩니다.
- 인덱스 관리가 필요 없으므로 코드가 더 간결해집니다.
- 물론 기존 for문처럼 인덱스를 하나씩 증감하여 순회할 수도 있습니다.
- 다만, 인덱스의 정보도 함께 사용해야한다면 기존의 for문을 사용하셔야합니다.
- python을 공부해보신 분들을 enumearte() 기능을 쓰면 되지 않냐고 하실수 있지만, java에서는 해당 기능을 수행하는 별도의 코드가 존재하지 않습니다.
향상된 for문 구문
for (타입 변수명 : 배열 또는 컬렉션) {
}
향상된 for문 예시
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println("Number: " + number);
}
실행결과
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
- 위 구문과 예시처럼
반복 제어변수 : 배열or컬렉션
의 형태로 보다 간단하게 수행할 수 있습니다.
- 즉, 배열이나 컬렉션의 요소를 처음부터 끝까지 반복한다는 의미가 됩니다.
7-2. while문
- while 문은 조건식이 참일 동안 반복을 계속합니다. 조건식이 거짓이 되면 반복이 종료됩니다.
- 주로 반복 횟수가 불확실하거나 조건에 따라 반복을 계속할 때 사용됩니다.
while문 구문
while (조건식) {
}
while문 예시
int i = 0;
while (i < 5) {
System.out.println("i: " + i);
i++;
}
실행결과
i: 0
i: 1
i: 2
i: 3
i: 4
- 여기서 주의하실 점은 반복문이 항상 종료되도록 조건을 잘 설정해야 한다는 것입니다.
- 반복문이 종료 조건 없이 계속 반복되는 것을 무한 루프(Infinite Loop)라고 합니다. 이는 의도적일 수도 있고, 실수로 발생할 수도 있습니다. 주의해서 사용해야 합니다.
7-2-부록. do-while문
- do-while 문은 while 문과 비슷하지만, 조건 검사를 반복문 끝에서 수행합니다.
- 따라서 조건이 거짓이더라도 코드 블록이 최소 한 번은 실행됩니다.
do-while문 구문
do {
} while (조건식);
do-while문 예시
int i = 10;
do {
System.out.println("This will be printed at least once.");
i++;
} while (i < 5);
실행결과
This will be printed at least once.
- 위 예시처럼 최소 한 번은 실행해야 하는 코드가 있을 때 사용하시면 좋습니다.
7-3. 반복문 제어문
- 반복문 내에서 특정 조건에 따라 반복을 제어할(멈출) 수 있는 문장들이 있습니다:
break 문
- 반복문을 즉시 종료하고, 반복문 다음의 코드로 넘어갑니다.
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
System.out.println("i: " + i);
}
i: 0
i: 1
i: 2
i: 3
i: 4
continue 문
- 현재 반복을 중단하고, 다음 반복으로 넘어갑니다.
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
System.out.println("i: " + i);
}
i: 0
i: 1
i: 3
i: 4
마무리
- 본 포스팅에서는 프로그래밍에서 정말 중요한 반복문에 대해서 살펴보았습니다.
- 소개드린 반복문의 선택 기준은 다음과 같이 정리할 수 있습니다.
for 문
: 반복 횟수가 명확할 때 사용.
향상된 for 문
: 배열이나 컬렉션을 순회할 때 사용.
while 문
: 반복 횟수가 명확하지 않고, 조건에 따라 반복을 계속할 때 사용.
do-while 문
: 최소 한 번은 실행해야 하는 코드가 있을 때 사용.
- 다음 포스팅에서는 데이터를 읽어오거나 사용자의 입력을 받을 수 있도록하는 Scanner 클래스에 대해 다루어볼 예정입니다!
잘 봤습니다.