Computer Science/Java

자바 | 반복문 (While, Do-While, For, For-Each)

올리브한입 2025. 3. 24. 14:11
반응형

프로그래밍을 할 때, 특정 작업을 여러 번 반복해야 할 경우가 많습니다. 이런 상황에서 반복문(루프)은 매우 중요한 역할을 합니다.

While문

while 루프는 반복 조건이 명확할 때 사용됩니다. 반복 조건이 참인 동안 계속해서 반복하며, 조건을 먼저 검사한 후 반복 여부를 결정합니다.

int[] data = {1, 3, 5, 7, 9};
int target = 5;
int j = 0;
while ((j < data.length) && (data[j] != target)) {
    j++;
}

if (j < data.length) {
    System.out.println("Target found at index: " + j);
} else {
    System.out.println("Target not found");
}

이 코드에서는 data 배열에서 target인 5를 찾습니다. while 루프는 j가 0부터 시작해서 5와 일치하는 값을 찾을 때까지 배열을 순차적으로 확인합니다. 5가 발견되면, 해당 인덱스를 출력합니다.

Do-While문

do-while 루프는 최소한 한 번은 실행되어야 할 때 유용합니다. 반복 조건을 검사하기 전에 코드가 실행되므로, 조건이 처음에 false라도 한 번은 실행됩니다.

int j = 11; 
do {
    System.out.println("j의 값은: " + j);
    j++;  // j 값을 증가시킴
} while (j < 10);

이 경우 11만 출력하고 루프는 종료됩니다.

For문

for 루프는 반복 횟수가 명확할 때 사용합니다.

int[] data = {1, 2, 3, 4, 5};  // 예시 배열
int total = 0;  // 합계를 저장할 변수

for (int ind = 0; ind < data.length; ind++) {
    total += data[ind];
    System.out.println(total);
}

System.out.println("배열의 합: " + total);  // 합을 출력

반복문을 통해 배열의 모든 요소를 순차적으로 더해주는 방식입니다.

For-Each문

배열이나 컬렉션(예: 리스트, 세트 등)을 순회할 때 사용되는 간결한 반복문입니다. for 문에서 인덱스를 사용할 필요 없이, 배열이나 컬렉션의 각 요소를 하나씩 접근하여 반복할 수 있습니다.

public class ForEachSumExample {
    public static void main(String[] args) {
        double[] data = {1.5, 2.5, 3.5, 4.5, 5.5};  // 예시 배열
        double total = 0;  // 합계를 저장할 변수

        for (double val : data) {
            total += val;  // 배열의 각 값을 total에 더함
        }

        System.out.println("배열의 합: " + total);  // 합을 출력
    }
}

이 코드는 배열 data의 각 double 값을 모두 더해서 그 합을 total에 저장하고 반환하는 방식입니다. for-each 문을 사용하면 배열을 쉽게 순회할 수 있어 코드가 간결하고 효율적입니다.

반응형