■ enhanced for문
int[] ar = {1, 2, 3, 4, 5};
for(int i = 0; i < ar.length; i++) {
System.out.println(ar[i]);
}
위의 for 문을 다음와 같이 구성할 수 있다
for(int e : ar) {
System.out.println(e);
}
enhanced for문의 구성을 살펴보면 다음과 같다
for(요소 : 배열) {
반복할 문장들
}
배열에는 반복의 대상인 배열의 참조변수가 오게 되고,
요소에는 배열의 요소 하나 하나가 담긴다.
즉,
e = ar[0];
System.out.println(e);
e = ar[1];
System.out.println(e);
.
.
.
.
순으로 enhanced for문이 실행되게 된다.
■ 인스턴스 배열을 대상으로 하는 enhanced for문
> 기본 자료형의 값이 아닌 인스턴스의 참조 값인 경우에도 enhanced for문을 활용할 수 있다.
(Box 클래스를 정의했다고 가정한다.)
Box[] ar = new Box[10];
for(Box e : ar) {
.......
}
■ 다차원 배열
> 배열의 논리적 메모리 구조가 2차원 이상의 형태를 보이는 배열
> 예시
int[][] arr2 = new int[3][4];
// 행 3, 열 4 인 int형 2차원 배열의 생성
즉, 아래와 같은 배열 구조를 가진다
arr2[0][0] arr2[0][1] arr2[0][2] arr2[0][3]
arr2[1][0] arr2[1][1] arr2[1][2] arr2[1][3]
arr2[2][0] arr2[2][1] arr2[2][2] arr2[2][3]
이때 참조변수 arr2가 참조하는 배열의 형태는 다음과 같다.
arr2[0]
arr2[1]
arr2[2]
그렇기에 arr2.length를 확인하면 길이가 3이 나온다.
그리고 각각의 arr2[0],arr2[1],arr2[2] 가 1차원 배열을 참조하게 된다
arr2[0] → □□□□
arr2[1] → □□□□
arr2[2] → □□□□
그래서 arr2[0].length를 확인하면 길이가 4가 나오게 된다.
■ 2차원 배열의 초기화
int[][] arr = new int[][] {
{11, 22, 33},
{44, 55, 66},
{77, 88, 99}
};
// 위와 같은 표현
int[][] arr = {
{11, 22, 33},
{44, 55, 66},
{77, 88, 99}
};
'Language > Java' 카테고리의 다른 글
상속 2 (0) | 2023.02.10 |
---|---|
상속 (0) | 2023.02.09 |
배열 (0) | 2023.02.05 |
StringBuilder 클래스 (0) | 2023.02.04 |
메소드 오버로딩과 String 클래스 (0) | 2023.02.04 |