2017. 7. 2. 21:33
java 자바 배열 C. Java2017. 7. 2. 21:33
배열을 선언하는 형식: - new 연산자를 이용하는 방법
- 해당 배열의 내용을 직접 초기화 하는 방법
1. 배열의 초기화
: 배열에 값을 주어 초기화 할수도 있고, 초기화 해주지 않아도
배열은 생성과 동시에 자동적으로 자신의 타입에 해당하는 기본값으로 초기화 된다.
: 배열에 값을 주어 초기화 할수도 있고, 초기화 해주지 않아도
배열은 생성과 동시에 자동적으로 자신의 타입에 해당하는 기본값으로 초기화 된다.
----------------------------------------------------------
자료형 기본값(초기값)
----------------------------------------------------------
----------------------------------------------------------
boolean false
char '\u000' -> NULL문자
byte,short,int 0
long 0L
float 0.0f
double 0.0d 또는 0.0
참조형 변수 null
2. 1차원 배열
형식: 자료형 []배열명 = new 자료형 [배열의 원소개수];
ex) int [] aaa = new int [5]; -> aaa.length는 5이다.
ex) int [] bbb; -> int형 타입의 참조형 배열 bbb(aaa,ccc)를 선언하고
bbb = new int [5]; 인스턴스의 참조변수를 담을수 있는 배열을 생성한다.
여기서는 bbb[0],bbb[1]......bbb[4] 이렇게(0부터시작) 5개생성
ex) int [] ccc = {2,5,7,3,1}; -> 초기화시에는 개수 생략
ex) int [] ccc = new int[] {2,5,7,3,1};
ex) String [] ddd = { new String("kim"), new String("park") };
ex) String [] ddd = new String[] { new String("kim"), new String("park") };
ex) String [] ddd = { "kim","park" };
참고) -> String는 new연산자를 통해서 인스턴스를 생성해야하지만 " "를 사용해서 간략히
표현하는것을 특별히 허용한다.
참고) -> aaa.length는 5이다. : 배열도 객체이기 때문에 멤버변수와 객체를 가지고 있으면
이중 멤버변수 length는 배열의 크기에 대한 정보를 담고 있다.
이중 멤버변수 length는 배열의 크기에 대한 정보를 담고 있다.
3. 다차원배열(2차원배열)
형식: 자료형 [][]배열명 = new 자료형 [ ][ ];
ex) int [][]score = new int [3][2]; -> 3행2열의 2차원 배열을 생성한다.
4. 가변배열 : 2차원 이상의 다차원 배열을 생성할때 전체 배열 차수중 마지막 차수의 크기를
지정하지 않고, 추후에 각기 다른 크기의 배열을 생성하는 배열
지정하지 않고, 추후에 각기 다른 크기의 배열을 생성하는 배열
ex) int [][] intAry = new int [4][ ]; -> 마지막 차수를 지정하지 않는다.
intAry[0] = new int[1]; -> 각기 다른 크기의 배열을 생성
intAry[1] = new int[2];
intAry[2] = new int[3];
intAry[3] = new int[4];
ex) int [][] intAry = { {0},{1,2},{3,4,5},{6,7,8,9} };
참고) intAry.length< /FONT > 는 4이고
intAry[0].length< /FONT > 는 1이고,
intAry[1].length< /FONT > 는 2이고,
intAry[2].length< /FONT > 는 3이고,
intAry[3].length< /FONT > 는 4이다.
ex) int [] [] m22 = new int [3][] -> m22.length 는 3
m22[0] = new int[3]; -> m22[0].length 는 3
m22[1] = new int[4]; -> m22[1].length 는 4
m22[2] = new int[5]; -> m22[2].length 는 5
for (int i=0; i<m22.length ; i++)< /FONT>
{
for( int j=0; j<m22[i].length;j++)< /FONT>
{
}
}
5. 배열의 복사 : 배열은 한번 생성하면 그 크기를 변경할 수 없기 때문에 더 많은 저장공간이 필요하다면,
보다 큰 배열을 새로 만들고 이전 배열로 부터 내용을 복사해야한다.
( for문이나 System 클래스의 arraycopy()를 사용할수 있다.)
System.arrayCopy( arr1, 0 , arr2, 0, arr1.length);
-> arr1[0] 에서 arr2[0]으로 arr1.length개의 데이타를 복사해라.
'C. Java' 카테고리의 다른 글
java 자바 생성자 this (0) | 2017.07.02 |
---|---|
java 자바 바인딩 개념 (0) | 2017.07.02 |
java 자바 클래스속성 접근지정자 (0) | 2017.07.02 |
File 객체 - 파일,디렉토리 생성 변경 삭제 (0) | 2017.07.02 |
크로스 사이트 스크립트 공격 취약점(XSS)의 대처방안에 대해 알아보자 (0) | 2017.07.02 |