Java의 반복문

Dohyeon Kong·2024년 4월 3일
0

Java☕

목록 보기
3/12
post-thumbnail

Java의 반복문

Java의 반복문의 종류는 대표적으로 for문, while문, do-while문 이 있다.


📍for문

반복적인 작업을 수행할 때 제어하기 위한 문

  • 특정 조건이 만족되는 동안 코드 블록을 반복 실행하는데 사용된다.
  • 반복 횟수가 명확하거나 배열 및 컬렉션 등의 데이터 구조를 순회할 때 사용된다.
// for문의 기본 형식
for(초기화식(=카운터 변수); 조건식; 증감식){

}
// for문의 기본 사용 예시
for(int i = 0; i < 5; i++){
	System.out.println(i);
}
// * 결과 *
// 0
// 1
// 2
// 3
// 4

향상된 for문(enhanced for loop)

주로 배열이나 컬렉션의 모든 요소를 순회할 때 사용하는 for문

//향상된 for문의 기본 형식
for (타입 변수명 : 순회할 배열 또는 컬렉션) {
    // 반복할 작업
}
// 배열에서 사용하는 기본 사용 예시
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println(number);
}

// * 결과 *
// 1
// 2
// 3
// 4
// 5
// 컬렉션에서 사용하는 기본 사용 예시
List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");
for (String fruit : fruits) {
    System.out.println(fruit);
}

// * 결과 *
// Apple
// Banana
// Cherry

향상된 for문의 장점😀

  • 기본 for문에 비해 구조가 단순하고 사용자가 이해하기 쉬워서 가독성이 올라간다.
  • 인덱스를 사용하여 배열이나 컬렉션에 직접 접근하는 것이 아니기 때문에 IndexOutOfBoundsException의 오류를 줄일 수 있다.
  • 인덱스를 관리할 필요가 없으므로, 컬렉션의 크기를 명시적으로 계산할 필요가 없어 코드가 간결해진다.

향상된 for문의 단점🥲

  • 향상된 for문을 순회하는 동안에는 배열이나 컬렉션의 요소를 추가하거나 삭제가 어렵다.
  • 인덱스를 직접 제공하지 않는다.

for문을 사용하는 이유는?🤔

  • 반복적인 작업에 자동화가 가능하다!
  • 코드의 가독성이 향상된다!
  • 컬렉션과 배열처리를 쉽게 할 수 있다!
  • 반복 횟수를 제어할 수 있다!
  • 효율적으로 자원을 관리할 수 있다!

📍while 문

조건이 'true'인 동안 코드 블록을 반복 실행하는 반복문

  • 반복 횟수가 불명확하거나 무한 반복이 필요할 때 사용된다.
// while문의 기본 형식
while(조건식){

}
// while문의 기본 사용 예시
int i = 0;
while (i < 10) {
    System.out.println(i);
    i++;
}
// * 실행 결과 *
// 0
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9

while문의 장점😀

  • 조건을 기반으로 반복한다
    - 조건이 참(true)인 동안 반복 실행되므로, 반복 횟수가 불명확한 상황에서 유용하다.
  • 조건 검사를 먼저 수행한다
    - 코드 블록을 실행하기 전에 조건을 검사하기 때문에 조건이 처음부터 거짓(false)인 경우 코드 블록이 한 번도 실행되지 않는 상황을 제어할 수 있다.

while문의 단점🥲

  • 최소 실행의 보장이 없다
    - 조건이 처음부터 거짓인 경우, 반복문 내의 코드가 단 한 번도 실행되지 않는다.
  • 조건을 관리해야 한다
    - 반복문 내에서 조건을 적절히 관리하지 못하면 무한 루프에 빠질 위험이 있다.

while문을 사용하는 이유는?🤔

  • 조건을 기반으로 반복한다.
    - 반복 횟수가 명확하지 않거나 특정 조건을 만족하는 동안 반복할려고 할때 while문을 사용한다.
  • 무한 루프를 구현할 수 있다.
    - 프로그램이 사용자의 입력을 기다리거나 서버가 클라이언트의 요청을 기다리는 등의 무한히 실행되어야 하는 상황에서 while문을 사용한다.
  • 조건 검사를 통해 반복문 전 수행이 가능하다.
    - while문이 반복문에 진입하기 전 조건을 검사하고, 조건이 처음부터 false일 경우 반복문 내 코드는 한번도 실행이 되지 않게 할 수 있다.

📍do-while문

최소 한 번코드 블록을 실행한 후 조건을 검사하는 반복문

  • 조건이 처음부터 false일지라도 코드 블록이 최소 한 번은 실행된다.
// do-while문 기본 형식
do{

}while();
// do-while문 기본 사용 예시
int i = 0;
do {
    System.out.println(i);
    i++;
} while (i < 10);

// * 실행 결과 *
// 0
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10

do-while문의 장점😀

  • 최소 한 번의 실행이 보장된다
    - do-while문은 최소 한 번은 반복문 내의 코드를 실행한 후 조건을 검사하기 때문에, 사용자 입력을 받아 처리해야 하는 상황에서 유용하다.
  • 사용자 인터랙션에 적합하다.
    - 사용자로부터 유효한 입력을 받을 때까지 반복하려는 경우에 적합하다.

do-while문의 단점🥲

  • 조건 검사가 지연된다
    - 반복문의 끝에서 조건을 검사하기 때문에, 조건이 거짓임에도 불구하고 코드 블록이 최소 한 번은 실행된다. 이는 원치 않는 실행을 초래할 수 있다.
  • 조건 관리가 필요하다
    - while문과 마찬가지로, do-while문 역시 조건을 적절히 관리하지 않으면 무한 루프의 위험이 있다.

do-while문을 사용하는 이유는?🤔

  • 최소 한 번의 실행이 보장된다
    - do-while문은 조건 검사를 반복문의 마지막에 수행하기 때문에, 조건의 참/거짓 여부와 관계없이 반복문 내 코드가 최소 한 번은 실행된다.
    - 이는 사용자로부터 입력을 받고 검증해야 할 때 유용하다.
  • 사용자 입력과 상호작용이 가능하다.
    - 프로그램이 사용자의 입력을 받아 처리하고, 그 결과에 따라 추가 입력을 요구해야 할 경우 do-while문을 사용하여 사용자가 유효한 입력을 제공할 때까지 반복한다.

어떠한 반복문을 선택하면 될까?

  • 정해진 횟수만큼 반복해야 한다면 for문
  • 특정 조건을 만족할 때까지 반복해야 한다면 while문 또는 do-while문
  • 배열이나 컬렉션의 모든 요소를 순회해야 한다면 향상된 for문
profile
천천히, 꾸준히, 그리고 끝까지

0개의 댓글