[Java 기초] 7. 반복문(Iteration)

Kyung Jae, Cheong·2024년 8월 12일
1
post-thumbnail
  • 최대한 기초가 거의 없는 분들의 입장에서 정리해본 내용이므로, 어려운 개념들은 가급적 포함시키지 않거나 최대한 간단하게만 표현하였습니다.
  • 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;  // i가 5일 때 반복문 종료
    }
    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;  // i가 2일 때 남은 코드 실행하지 않고 다음 반복으로
    }
    System.out.println("i: " + i);
}
i: 0
i: 1
i: 3
i: 4

마무리

  • 본 포스팅에서는 프로그래밍에서 정말 중요한 반복문에 대해서 살펴보았습니다.
  • 소개드린 반복문의 선택 기준은 다음과 같이 정리할 수 있습니다.
    • for 문: 반복 횟수가 명확할 때 사용.
    • 향상된 for 문: 배열이나 컬렉션을 순회할 때 사용.
    • while 문: 반복 횟수가 명확하지 않고, 조건에 따라 반복을 계속할 때 사용.
    • do-while 문: 최소 한 번은 실행해야 하는 코드가 있을 때 사용.
  • 다음 포스팅에서는 데이터를 읽어오거나 사용자의 입력을 받을 수 있도록하는 Scanner 클래스에 대해 다루어볼 예정입니다!
profile
일 때문에 포스팅은 잠시 쉬어요 ㅠ 바쁘다 바빠 모두들 화이팅! // Machine Learning (AI) Engineer & BackEnd Engineer (Entry)

1개의 댓글

comment-user-thumbnail
2025년 2월 19일

잘 봤습니다.

답글 달기