JAVA

[JAVA] 배열 (2) - 2차원배열과 향상된 for문, 일반 for문

준몽쓰 2025. 1. 12. 21:16

2차원 배열은 int [] [] arr = new int[2][3]와 같이 선언하고 생성한다.

arr[1][2]와 같이 사용하는데, 먼저 행 번호를 찾고, 그 다음에 열 번호를 찾으면 된다.

 

arr[행][열] = arr[row][column]

 

그림에 있는 2차원 배열 데이터를 표현하면 arr[0][0] = 1, arr[0][1] = 2, arr[0][2] = 3 .... 나타낸다.

 

2차원 배열의 선언

1) 배열의 선언과 생성을 나누어 사용

int[ ] [ ] array; // 2차원 배열에 대한 레퍼런스 변수 선언

array = new int[2][5]; // 2차원 배열생성 (2차원 배열의 저장공간 할당)

 

2) 배열의 선언과 생성을 한줄로 합쳐서 사용

int [ ] [ ] array = new int[2][5];

 

2차원 배열의 초기화

 

 

배열의 길이

 

for문에서 2차원 배열의 길이를 활용함.

  • arr.length는 행의 길이를 뜻함 (여기선 2)
  • arr[row].length는 열의 길이를 뜻함 (여기선 3)

 

 

향상된  for문과 일반 for문 차이

 

일반 for문

1. 하나의 변수를 선언하고 그 값을 카운트로 반복하게 되는 형식

2. 보통 ini i로 i값을 선언하고 i값을 카운트 값으로 사용함

 

예시)

i가 0부터 9까지 괄호안의 코드가 반복

 

너무 번잡해서 향상된 for문 이용

 

향상된 for문

1. JDK 1.5이상 

2. 사용할 변수는 지역변수로 인식됨. (for문 안에서 사용되어서)

3.  일반 for문과 동일한 동작

4. 배열 인덱스 사용하지 않고, 종료조건 없어도됨. 

5. 단순 해당 배열을 처음부터 끝까지 탐색

 

예시)

i값에 배열의 첫번째 값부터 마지막 값까지 저장되어 출력된 것을 확인할 수 있다. 첫번째에 a값이 저장되고 출력된 다음 두번째에 b값이 출력되고 마지막으로 e값이 출력될때까지 코드가 배열의 길이인 5번 반복된다.

 

향상된 for문 장점

1. 간편한 가독성 좋은 코드

2. 배열 인덱스 문제 해결

 

향상된 for문 단점

1. 인덱스를 사용하지 못한다. (일반 for문의 int i=0; 할 때 i 같은 인덱스를 말한것)

2. 배열이나 ArrayList 값을 사용할 수 있지만 수정할 수 없다.