[]를 이용하여 빠른 참조가 가능0부터 시작ArrayList를 많이 활용함배열 선언하기
int[] arr1 = new int[10]; int arr2[] = new int[10];
배열 초기화 하기
- 배열은 선언과 동시에 자료형에 따라 초기화 됨 ( 정수는
0, 실수는0.0, 객체는null)- 필요에 따라 초기값을 지정할 수 있음
int[] numbers = new int[] {10, 20, 30}; //개수 생략해야 함 int[] numbers = {10, 20, 30}; // new int[] 생략 가능 int[] ids; ids = new int[] {10, 20, 30}; // 선언후 배열을 생성하는 경우는 new int[] 생략할 수 없음
[] 인덱스 연산자 활용 - 배열 요소가 저장된 메모리의 위치를 연산하여 찾아 줌ArrayTest
package ch20; public class ArrayTest { public static void main(String[] args) { int[] arr = new int[10]; int total = 0; for(int i=0, num=1; i<arr.length; i++) { arr[i] = num++; } for( int i =0; i<arr.length; i++) { total += arr[i]; } System.out.println(total); } }출력 결과
length 속성은 배열의 개수를 반환해주기 때문에 실제 요소의 개수와는 다를 수 있다.DoubleArrayTest.java
length를 활용하여 오류가 나는 경우package ch20; public class DoubleArrayTest { public static void main(String[] args) { double[] dArr = new double[5]; dArr[0] = 1.1; dArr[1] = 2.1; dArr[2] = 3.1; double mtotal = 1; for(int i = 0; i< dArr.length; i++) { mtotal *= dArr[i]; System.out.println(mtotal); } System.out.println(); System.out.println(mtotal); } }출력 결과
- 요소의 개수에 대한 변수(
count)를 따로 유지package ch20; public class DoubleArrayTest { public static void main(String[] args) { double[] dArr = new double[5]; int count = 0; dArr[0] = 1.1; count++; dArr[1] = 2.1; count++; dArr[2] = 3.1; count++; double mtotal = 1; for(int i = 0; i< count; i++) { mtotal *= dArr[i]; System.out.println(mtotal); } System.out.println(); System.out.println(mtotal); } }출력 결과
CharArrayTest.java
package ch20; public class CharArrayTest { public static void main(String[] args) { char[] alpahbets = new char[26]; char ch = 'A'; for(int i=0; i<alpahbets.length; i++) { alpahbets[i] = ch++; } for(int i = 0; i<alpahbets.length; i++) { System.out.println(alpahbets[i] +","+ (int)alpahbets[i]); } } }출력 결과
- 배열의
n개 요소를0부터n-1까지 순차적으로 순회할 때 간단하게 사용할 수 있음for( 변수 : 배열) { }
CharArrayTest.java
package ch20; public class CharArrayTest { public static void main(String[] args) { char[] alpahbets = new char[26]; char ch = 'A'; for(int i=0; i<alpahbets.length; i++) { alphabets[i] = ch++; } for(char alpha : alpahbets) { System.out.println( alpha + "," + (int)alpha); } } }출력 결과