자바에서 foreach는 배열 또는 컬렉션과 같은 Iterable 객체를 순회하며 각 요소에 접근하는 데 사용되는 반복문입니다. 이것은 향상된 for문 또는 개선된 for문이라고도 불립니다. 코드의 가독성을 향상시키고 반복 작업을 간결하게 처리하기 위해 도입되었습니다.
foreach 의 기본 구조는 다음과 같습니다.
for (요소의타입 변수명 : 배열이나 컬렉션) {
// 요소에 대한 작업 수행
}
Java여기서 “요소의타입”은 배열이나 컬렉션에 포함된 요소의 데이터 타입을 나타내며, “변수명”은 각 요소에 대한 참조를 나타냅니다.
public class ForEachExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 배열의 각 요소를 제곱하여 출력
for (int number : numbers) {
int square = number * number;
System.out.println("제곱: " + square);
}
}
}
Javapublic class ForExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 배열의 각 요소를 제곱하여 출력
for (int i = 0; i < numbers.length; i++) {
int square = numbers[i] * numbers[i];
System.out.println("제곱: " + square);
}
}
}
Javapublic class ForEachVsForExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// foreach 사용
System.out.println("foreach 사용:");
for (int number : numbers) {
// 요소를 직접 수정하는 것은 불가능
number = number * 2;
// 이 부분에서는 변수에 대한 참조를 변경할 뿐, 배열의 요소 값은 변경되지 않음
System.out.println(number); // 출력: 2 4 6 8 10
}
System.out.println(Arrays.toString(numbers)); // 출력: [1, 2, 3, 4, 5]
// for 사용
System.out.println("for 사용:");
for (int i = 0; i < numbers.length; i++) {
// 요소 수정 가능
numbers[i] = numbers[i] * 2;
System.out.println(numbers[i]); // 출력: 2 4 6 8 10
}
System.out.println(Arrays.toString(numbers)); // 출력: [2, 4, 6, 8, 10]
}
}
Java이번 글에서는 자바의 반복문 중 foreach와 일반적인 for문에 대해 알아보았습니다.
foreach는 주로 가독성을 향상시키고 반복 작업을 더 간결하게 처리하기 위해 도입된 반복문으로, 배열이나 컬렉션 등의 Iterable 객체를 순회할 때 사용됩니다. foreach는 읽기 전용이며 인덱스를 사용하지 않아 간편한 문법을 제공합니다. 그러나 요소를 직접 수정할 수 없고, 특정 인덱스에 직접 접근할 수 없다는 제한이 있습니다.
한편, for문은 전통적이면서도 더 유연한 반복 작업이 가능한 반복문입니다. 요소를 읽거나 수정할 수 있으며, 특정 인덱스에 직접 접근할 수 있는 장점이 있습니다. 그러나 문법이 상대적으로 복잡하며 코드의 가독성이 떨어질 수 있습니다.
따라서 상황에 따라 적절한 반복문을 선택하여 사용해야 합니다. 코드의 목적과 요구사항을 고려하여 foreach와 for 중 어떤 것이 더 적절한지 판단하고 사용하는 것이 중요하겠습니다.
소개 자바에서 Set은 중복을 허용하지 않는 데이터 집합을 의미합니다. List와 달리 동일한 요소를 여러 번…
해시(Hash)란 무엇인가? 해시(Hash)는 자바 프로그래밍에서 빠르고 효율적인 데이터 저장 및 검색을 위한 핵심적인 개념입니다. 이…
LinkedList란 무엇인가? LinkedList는 자바에서 유용하게 사용되는 자료구조 중 하나로, 연결 리스트 방식을 이용하여 데이터를 관리하는…
ArrayList란 무엇인가? ArrayList는 자바에서 가장 널리 사용되는 컬렉션 중 하나로, 가변 크기의 배열을 구현한 클래스입니다.…
제네릭(Generic)이란? 자바 제네릭은 코드의 재사용성을 높이고 타입 안전성을 보장하는 중요한 개념입니다. 이 블로그 글에서는 자바…