Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

기록 저장소

[Java #18] array 본문

kitri 노트/java

[Java #18] array

resault 2019. 3. 25. 23:17

[ 배열 (array) ] : 같은 DT의 여러개의 값을 연속적으로 저장


1. 기본 개념

1) 기본DT 배열

(1) 형식

a. 선언 : 접근제어자 기본DT[] 배열명;    |    접근제어자 기본DT 배열명[];
ex.)
public int[] x;    //|    public int x[];
char c[];
boolean[] b;

b. 생성 : 배열명 = new 기본DT[길이];
ex.)
x = new int[3];
c = new char[5];
b = new boolean[2];

>>> a, b를 동시에! : 접근제어자 기본DT 배열명[] = new 기본DT[크기];
ex.)
public int x[] = new int[3];
char c[] = new char[5];
boolean b[] = new boolean[2];

c. 사용 : 배열명[index]; | 배열명[index] = 값;
ex.)
x[0] = 10;
x[1] = 20;
x[2] = 30;

//일정한 규칙이 있는 경우, for문 적용 가능!!
for(int i=0; i<3; i++) {
    x[i] = (i+1) * 10;
}

c[0] = 'a';

b[0] = true;

>>> a, b, c를 동시에...  : 리터럴 값만 넣을 수 있음
public int x[] = {10, 20, 30};
char c[] = {"a","b","c","d","e"};
boolean b = {false, true};

String s[] = {"java", "hello"};//String은 RDT이지만, 기본DT처럼 아래와 같이 사용할 수 있음

//단, 미리 배열변수를 선언한 후에 중괄호를 사용하면 에러 발생함!
int num1[];
num1 = {1, 2, 3}; //컴파일 에러

int num2[] = null;
num2 = new int[] {1, 2, 3};


2) RDT 배열

(1) 형식

a. 선언 : 접근제어자 RDT[] 배열명;    |    접근제어자 RDT 배열명[];
ex.)
public String[] str;    //|    public String str[];
Car car[];

b. 생성 : 배열명 = new RDT[길이];
ex.)
str = new String[3];
Car = new car[5];

>>> a, b를 동시에!! : 접근제어자 RDT 배열명[] = new RDT[크기];
ex.)
public String str[] = new String[3];
Car car[] = new car[5];

c. 사용 : 배열명[index] = 주소값(reference); >>> 일반적으로 생성자를 이용 new RDT();
ex.)
str[0] = "hello";
str[1] = "java";
str[2] = new String("!!!");


car[0] = new Car();
.
.
.
car[4] = new Car();



2. 상세 내용

▷ 배열 생성시에는 반드시 크기를 지정해야 함
- 배열의 크기는 변경 불가
- 배열의 크기는 length 사용
ex.)
int a[] = new int[3];
a[0] = 50;
a[1] = 60;
a[2] = 70;

System.out.println(a.length); //3














'kitri 노트 > java' 카테고리의 다른 글

[Java #20] lang package_String Class  (0) 2019.03.25
[Java #19] lang package_Wrapper Class-수정  (0) 2019.03.25
[Java #17] package  (0) 2019.03.25
[Java #16] constant, modifier  (0) 2019.03.25
[Java #15] interface  (0) 2019.03.25