// 배열에 대한 레퍼런스 변수 선언
int array [];
// 배열 생성 - 저장 공간 할당
array = new int [5];
레퍼런스 변수인 array는 int 타입의 5개 원소를 가지는 배열의 주소값이 저장된다.
// 레퍼런스 변수 선언과 동시에 초기화된 배열 생성
int array = {1, 2, 3, 4, 5};
length 필드
자바는 배열을 객체로 다룬다.
그렇기 때문에 배열을 생성할 때 new로 할당해주는 것이다.
배열이 생성되면 이 객체에는 배열의 저장 공간과 함께 배열의 크기 값을 가진 length 필드가 존재한다.
여기서 필드란 멤버 변수를 의미한다. (메소드는 멤버 함수)
int array [] = new int [5];
int size = array.length; //size == 5
for-each문
int n [] = {1,2,3,4,5};
int sum = 0;
// 배열의 크기를 조건문으로 줘서 배열의 크기만큼 루프 돌기
for(int i=0; i<n.length; i++){
System.out.println(n[i]);
}
// for-each
for(int k : n){ // n.length번 반복
sum += k;
}
// 나열 타입에서 for-each
enum Week {월,화,수,목,금};
for (Week day : Week.values()){}
for-each문은 기존의 for문을 변형하여, 배열이나 나열의 크기만큼 루프를 돌면서 각 원소를 순차적으로 접근하는데 유용하도록 만든 for문이다.
나열형의 경우는 values()라는 메소드를 사용하여 Week의 각 요소에 접근한다.
2차원 배열
int array[][] = new int [2][5];
array = { {1,2,3,4,5}, {6,7,8,9,10} };
int size1 = array.length; // 2
int size2 = array[0].length; // 5
int size3 = array[1].length; // 5
레퍼런스 변수 array는 array[0], array[1]에 대한 주소값을 저장한다.
2차원 배열에서 행의 원소 array[0], array[1]는 각 행의 1차원 배열에 대한 레퍼런스가 된다.
배열을 초기화할 때 각 행 당 원소 개수를 다르게 할당할 수 있는데, 그게 바로 비정방형 배열이다.
비정방형 배열을 생성하는 방법은 아래처럼 각 열을 따로 생성해주면 된다.
int i[][];
i = new int[4][];
i[0] = new int[1];
i[1] = new int[2];
i[2] = new int[3];
i[3] = new int[4];
'언어, 프레임워크 > Java' 카테고리의 다른 글
접근 지정자 / final (0) | 2025.02.03 |
---|---|
this() / 가비지 컬렉션 (1) | 2025.02.03 |
예외 처리 (0) | 2025.01.31 |
비트 시프트 연산 (0) | 2025.01.31 |
Java 알아보기 (0) | 2025.01.21 |