배열이란?
-동일한 자료형의 순차적 자료 구조
-인덱스 연산자[]를 이용하여 빠른 참조가 가능
-물리적 위치와 논리적 위치가 동일
-배열의 순서는 0부터 시작
-자바에서는 객체 배열을 구성한 ArrayList를 많이 사용함
-중간에 데이터가 없으면 안됨
배열 선언
- int[] arr1 = new int[10] 와같은 방법으로 배열을 선언한다.
초기화
- 배열은 선언과 동잇에 자료형에 따라 초기화 된다.(정수는 0,실수는 0.0, 객체는 null)
필요에따라 초기값을 지정 할 수 있다.
선언과 동시에 초기화 할때만 사용 가능
int [] number = new int[] {10,20,30) //계수는 생략 해야 한다.
int[] number = {10,20,30) // new int[] 생략 가능
int[] ids;
ids = new int[] {10,20,30}; // 선언후 배열을 생성하는 경우 new
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++ ) {
System.out.println(arr[i]);
arr[i] = num++;
}
for(int num : arr) {
total+=num;
}
System.out.println(total);
}
}
배열의 길이와 요소의 개수는 동일하지 않습니다.
- 배열을 선언하면 개수만큼 메모리가 할당되지만 실제 요소가 없는경우도 있음
- 배열의 length속성은 배열의 개수를 반환해주기때문에 요소의 개수와는 다름
- length를 활용하여 오류가 나는 경우
package ch20;
public class CharArrayTest {
public static void main(String[] args) {
char[] alphabets = new char[26];
char ch = 'A';
for(int i = 0; i<alphabets.length; i++) {
alphabets[i]= ch++;
}
for(char alpha : alphabets) {
System.out.println(alpha+","+(int)alpha);
}
}
}
2차원 배열 사용하기 (0) | 2022.07.20 |
---|---|
객체 배열 사용하기 (0) | 2022.07.20 |
static응용 - 싱글톤 패턴(singleton patton) (0) | 2022.07.16 |
여러가지 생성자를 정의하는 생성자 오버로딩 (0) | 2022.07.12 |
생성자 (0) | 2022.07.12 |