int num1, num2, ……, ,num100;
int[] num = new int[100];
for
문)을 활용하여 프로그램을 간단히 작성할 수 있기 때문(1) 데이터 타입[ ] 변수;
int[] num;
double[] average;
String[] name;
(2) 데이터 타입 변수[ ];
int num[];
double average[];
String name[];
주의!!!!
int[] num;
아직 사용할 수 없음new 키워드를 사용하여 메모리 공간 할당
int[] a = new int[5]; // 선언과 동시에 할당
int[] b; // 선언만 (아직 사용할 수 없음)
b = new int[5]; // 메모리 할당
int[] a = new int[5]; // 초기값 : 0
double[] a = new double[5]; // 초기값 : 0.0
boolean[] b = new boolean[5]; // 초기값 : false
String[] s = new String[5]; // 초기값 : null
주의!!
for(int i =0; i <num.length; i++) {}
int [][] 변수명 = new int[][];
int[ ][ ] a = new int[3][4]
; 행3개, 열4개2차원 배열의 초기화
2차원 배열의 크기
byte[ ][ ] a = new byte[3][2];
a.length : 행의 개수 (3)
a[0].length : 0행의 열의 개수 (2)
a[1].length : 1행의 열의 개수 (2)
a[2].length : 2행의 열의 개수 (2)
int[ ][ ] a = new int[4][ ]; // 열의 개수 정하지 않음
a[0] = new int[1]; // 0행에 1개의 원소 생성
a[1] = new int[2]; // 1행에 2개의 원소 생성
a[2] = new int[2]; // 2행에 2개의 원소 생성
a[3] = new int[4]; // 3행에 4개의 원소 생성
비정방형 배열 초기화
int[][] a = {{1}, {2, 3}, {4, 5, 6}};
주의!! - 배열의 index 범위를 벗어날 때 : ArrayIndexOutOfBoundsException
오류 발생
for
문 사용해서 각 원소의 값을 하나씩 복사System.arrayCopy()
메소드 이용System.arrayCopy(원본배열, 시작인덱스, 대상배열, 시작인덱스, 복사할 항목 개수);
for( 변수 : 배열 ){ … };
하나의 배열로 객체 관리
객체 배열 : 객체를 가리키기 위한 레퍼런스 배열
객체를 가리키는 레퍼런스를 원소로 갖는 배열
Person[] p = new Person[5];
// 레퍼런스(참조 변수) 5개 생성
p[i] = new Person();
// 객체 생성p : 레퍼런스 배열을 가리키는 참조 변수
p[i] : 객체를 가리키는 참조 변수