🔖 INDEX
for 문을 사용한 배열 데이터 접근
for 문은 배열을 순회하고 요소에 접근하는 데 필수적인 도구입니다. for 문을 사용하면 지정된 횟수만큼 코드 블록을 반복 실행할 수 있어 배열 작업에 특히 유용합니다. 이 섹션에서는 for 문을 사용하여 배열 요소에 접근하는 방법에 대해 설명합니다.
1. 1차원 배열에서의 for 문 사용
1차원 배열에서는 간단한 for 문을 사용하여 배열 요소를 순회할 수 있습니다. 루프 카운터 변수를 사용하여 현재 인덱스를 추적하고 이 인덱스를 사용하여 배열 요소에 접근할 수 있습니다.
int[] myArray = {1, 2, 3, 4, 5};
for (int i = 0; i < myArray.length; i++) {
System.out.println(myArray[i]);
}
배열의 인덱스는 0부터 시작하며, 배열의 길이보다 작아야 합니다. 인덱스를 사용하여 배열 요소에 접근할 때, 인덱스 범위를 벗어나지 않도록 주의해야 합니다.
2. 다차원 배열에서의 for 문 사용
다차원 배열에서는 중첩된 for 문을 사용하여 요소를 순회할 수 있습니다. 바깥쪽 루프는 행(첫 번째 차원)을 순회하고 내부 루프는 열(두 번째 차원)을 순회합니다. 두 차원 이상인 경우 중첩 루프를 추가로 사용할 수 있습니다.
int[][] my2DArray = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(my2DArray[i][j] + " ");
}
System.out.println();
}
다차원 배열의 경우, 아래 예제의 비정형 배열과 같이 각 행의 길이가 다를 수 있습니다. 이 경우, 내부 for 문의 조건식에서 바깥쪽 루프의 인덱스를 사용하여 행의 길이에 맞게 반복 횟수를 조절해야 합니다.
int[][] my2DArray = {
{1, 2, 3},
{4, 5},
{6, 7, 8, 9}
};
for (int i = 0; i < my2DArray.length; i++) {
for (int j = 0; j < my2DArray[i].length; j++) {
System.out.print(my2DArray[i][j] + " ");
}
System.out.println();
}
for-each 문을 사용한 배열 데이터 접근
for-each 문은 자바에서 제공하는 간편한 배열 순회 방법입니다. 이 방식은 배열의 각 요소를 차례대로 접근할 때 인덱스를 사용하지 않고, 각 요소를 직접 사용할 수 있습니다. for-each 문은 배열뿐만 아니라 컬렉션 프레임워크에서도 사용할 수 있습니다.
1. 1차원 배열에서의 for-each 문 사용
1차원 배열에서 for-each 문을 사용하는 방법은 아래와 같습니다.
int[] myArray = {1, 2, 3, 4, 5};
for (int element : myArray) {
System.out.println(element);
}
이 예제에서 element 변수는 배열 myArray의 각 요소에 순서대로 할당됩니다. 인덱스를 사용하지 않고 각 요소를 직접 사용할 수 있습니다.
2. 다차원 배열에서의 for-each 문 사용
다차원 배열에서도 for-each 문을 사용할 수 있습니다. 이 경우, 중첩된 for-each 문을 사용하여 각 차원의 요소에 접근할 수 있습니다.
int[][] my2DArray = {
{1, 2, 3},
{4, 5},
{6, 7, 8, 9}
};
for (int[] row : my2DArray) {
for (int element : row) {
System.out.print(element + " ");
}
System.out.println();
}
이 예제에서 바깥쪽 for-each 문은 my2DArray의 각 행을 순회하고, 내부 for-each 문은 각 행의 요소를 순회합니다. 이 방식으로 다차원 배열의 모든 요소에 접근할 수 있습니다.
for-each 문을 사용하면 배열 요소를 간편하게 순회할 수 있으며, 인덱스를 사용하지 않아 인덱스 관련 오류를 방지할 수 있습니다. 하지만 for-each 문은 요소를 수정하거나, 인덱스 정보가 필요한 경우에는 사용하기 어렵습니다.
for-each 문 사용 시 주의 사항
for-each 문을 사용할 때 주의해야 할 사항들은 다음과 같습니다.
1. 배열 요소 수정 : for-each 문에서 배열 요소를 수정하려고 시도하면, 실제 배열에는 영향을 미치지 않습니다. for-each 문에서는 배열 요소의 복사본이 사용되기 때문입니다. 배열의 요소를 수정하려면 기본 for 문을 사용하거나, 다른 방법을 사용해야 합니다.
int[] myArray = {1, 2, 3, 4, 5};
for (int element : myArray) {
element *= 2; // 실제 배열에는 영향을 미치지 않음
}
2. 인덱스 정보 필요 : for-each 문은 인덱스를 사용하지 않기 때문에, 배열의 인덱스 정보가 필요한 경우 사용하기 어렵습니다. 인덱스 정보가 필요한 경우 기본 for 문을 사용해야 합니다.
3. 다차원 배열 순회 시 주의 : 다차원 배열에서 for-each 문을 사용할 때, 배열의 모양이 규칙적이지 않으면 오류가 발생할 수 있습니다. 예를 들어, 가변 길이의 2차원 배열을 순회할 때, 각 행의 길이가 다르면 오류가 발생할 수 있습니다. 이런 경우 기본 for 문을 사용하거나, 배열의 구조를 미리 확인하는 것이 좋습니다.
4. 반복 제어 : for-each 문은 순회 중에 반복을 제어할 수 없습니다. 즉, 순회를 건너뛰거나 중단할 수 없습니다. 이러한 제어가 필요한 경우 기본 for 문을 사용해야 합니다.
for-each 문을 사용할 때 이러한 주의사항을 고려하면 배열 요소에 효율적으로 접근할 수 있습니다. 배열 요소 수정, 인덱스 정보 필요, 다차원 배열 순회 시 주의, 그리고 반복 제어와 같은 상황에서는 기본 for 문을 사용하는 것이 더 적합할 수 있습니다.
'프로그래밍 > JAVA' 카테고리의 다른 글
초보 자바 프로그래밍(19) - 선택정렬 (Selection Sort) (0) | 2023.05.02 |
---|---|
초보 자바 프로그래밍(18) - 버블정렬 (Bubble Sort) (0) | 2023.05.02 |
초보 자바 프로그래밍(16) - 다차원배열 (Multidimensional Arrays) (0) | 2023.05.02 |
초보 자바 프로그래밍(15) - 배열 (Arrays) (0) | 2023.05.01 |
초보 자바 프로그래밍(14) - 조건연산자 (Conditional Operators) (0) | 2023.05.01 |
댓글