JAVA์์ ๋ฐฐ์ด์ ์ฐธ์กฐ์๋ฃํ์ ๋๋ค. ์ฐธ์กฐ๋ณ์๋ฅผ ์ ์ธํ ํ ๋ฐฐ์ด ๊ฐ์ฒด๋ฅผ ๋์ ์ผ๋ก ์์ฑํด ํ ๋นํด์ฃผ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์ฆ, ๋ฐฐ์ด์ ๋์ ํ ๋นํด์ ์์ฑ๋ฉ๋๋ค. ๋ฐฐ์ด์ ์ด๋ฆ์ ๋ฐฐ์ด ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ์ ๋ํ๋ด๋ฉฐ ์ด๋ฅผ ์ฐธ์กฐ๋ณ์๊ฐ ๋ฐ์์ ์ ์งํฉ๋๋ค.
new ์ฐ์ฐ์์ ์ฌ์ฉ์ผ๋ก ๋ฐฐ์ด ๊ฐ์ฒด๊ฐ ๋ช ์์ ์ผ๋ก ์์ฑ๋ฉ๋๋ค. VM์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ณ์ฐํ๋๋ฐ ํ์ํ ์ ๋ณด(=์ฐธ์กฐ๊ฐ)๋ฅผ ๋ฐฐ์ด ์ด๋ฆ์ ์ ์ฅํฉ๋๋ค. ์ด๋ ์ฐธ์กฐ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์๋ id๊ฐ์ ๋๋ค.
arrayName=new elementType[size] //๋์ ๋ฐฐ์ด ์์ฑ
double [] costs=new double[100]; //๋ฐฐ์ด ์ ์ธ์ ์
์ผ๋ฐ์ ์ผ๋ก ๋ฐฐ์ด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ผ๋ก index๋ฅผ ์ฌ์ฉํฉ๋๋ค.
arrayName[indexNumber]
costs[10]=90;
์ ํจํ ์ฒจ์์ ๋ฒ์๋ 0~(๋ฐฐ์ด์ ํ ๋น ํฌ๊ธฐ-1) ์ ๋๋ค. ์ด๋ฅผ ๋ฒ์ด๋ซ์ ๋๋ ArrayIndexOutOfBoundsException ์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค.
arrayName.length
costs.lenth;
๋ฐฐ์ด ์ ์ธ๋ฌธ์ ์ค๊ดํธ๋ฅผ ์ด์ฉํ์ฌ ์ด๊ธฐ๊ฐ์ ํ ๋นํด์ค๋๋ค.
int[] list=new int[]{10,20,30,40,50}
๊ฐ์ฒด๋ค์ ๋ํ ์ฐธ์กฐ ๋ณ์๋ค์ ๋ฐฐ์ด ์์๋ก ๊ฐ๋ ๋ฐฐ์ด์ ๋๋ค. ๋ฐฐ์ด ์์ํ์ ์ด ์ฐธ์กฐ์๋ฃํ์ธ ๊ฒฝ์ฐ์ ๋๋ค. ๋ํ ๋ฐฐ์ด ์์์ธ ์ฐธ์กฐ ๋ณ์๊ฐ ๊ฐ๋ฆฌํค๊ฒ ๋ ๊ฐ ๊ฐ์ฒด๋ค์ ๋ฐ๋์ ๋ณ๋๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์๋์์ ์ธ๊ธํ๋๋ก ํ๊ฒ ์ต๋๋ค.
Circle[] circles;
circles=new Circle[5];
โญ 3. new ์ฐ์ฐ์์ ์ ์ ํ ์์ฑ์ ํธ์ถ๋ก ๊ฐ ์์(์ฐธ์กฐ๋ณ์)๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ฅผ ํ ๋นํฉ๋๋ค. ๋ฐ๋์ ์์ง ๋ง์์ผ ํ๋ ๋จ๊ณ์ ๋๋ค!
circles[0]=new Circle();
โ ํท๊ฐ๋ฆฌ์ง ๋ง ๊ฒ
- ๊ฐ์ฒด ๋ฐฐ์ด์ ๊ฐ ์์๋ ์ฐธ์กฐ๋ณ์
- ์ฐธ์กฐ๋ณ์๊ฐ ๋ณ๋์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํด
array๊ฐ ์ฐธ์กฐํ๋ ๋ฐฐ์ด ์์๋ค์ ์์ฐจ์ ์ผ๋ก ๋ณ์ var์ ํ๋์ฉ ์ ๋ฌํ๋ฉฐ ์ฒ๋ฆฌํฉ๋๋ค.
for each (Type var) in {array}
๋ณ์ a๋ ๋ฐฐ์ด arr์์ ํ ์์๋ฅผ ๋นผ๋์ ๋ ๊ทธ๊ฒ์ ๋ฐ์ ์ ์๋ ๋ณ์์ ๋๋ค.
int[] arr={1,2,3};
for(int a:arr)
System.out.print(a);
n์ฐจ์ ๋ฐฐ์ด์ n-1์ฐจ์์ ๋ฐฐ์ด์ด ๋ชจ์ธ ๊ฒ์ผ๋ก n์ฐจ์ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ฐธ์กฐํ๊ธฐ ์ํด n๊ฐ์ ์ฒจ์๋ฅผ ์ด์ฉํฉ๋๋ค. ๋ง์ฝ 2์ฐจ์์ด๋ผ๋ฉด 1์ฐจ์ ๋ฐฐ์ด์ ๊ทธ๋ฃน์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ๊ฐ ์ฝ์ต๋๋ค.
int [][] test1=new int[2][3]์์ new ์ฐ์ฐ์๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ธ์์ ๋ชจ๋ ๊ฐ์ ๋ฃ์ ๊ฒ์ ๊ณ ์ ์ ๊ธธ์ด์ 2์ฐจ์ ๋ฐฐ์ด์ด๋ผ๊ณ ํฉ๋๋ค.
public class BasicTypeArray {
public static void main(String[] args) {
int [][] integers;
integers=new int[2][3]; //๊ณ ์ ๋ ๊ธธ์ด์ 2์ฐจ์ ๋ฐฐ์ด
for (int g=0;g<integers.length;g++) {
for (int e=0;e<integers[g].length;e++) {
integers[g][e]=g*10+e;
}
System.out.println();
}
for(int[] a:integers) {
for(int n:a) { //a๋ํ ๋ฐฐ์ด
System.out.print(n+"\t");
}
System.out.println();
}
}
}
int [][] test1=new int[2][3]์์ new ์ฐ์ฐ์๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ธ์์ ๋ชจ๋ ๊ฐ์ ๋ฃ์ง ์์ ๊ฒ์ ๊ฐ๋ณ์ ๊ธธ์ด์ 2์ฐจ์ ๋ฐฐ์ด์ด๋ผ๊ณ ํฉ๋๋ค.
public class BasicTypeArray2 {
public static void main(String[] args) {
int [][] integers;
integers=new int[2][]; //๊ฐ๋ณ์ ๊ธธ์ด์ 2์ฐจ์ ๋ฐฐ์ด
integers[0]=new int[2];
integers[1]=new int[4];
for (int g=0;g<integers.length;g++) {
for (int e=0;e<integers[g].length;e++) {
integers[g][e]=g*10+e;
}
System.out.println();
}
for(int[] a:integers) {
for(int n:a) {
System.out.print(n+"\t");
}
System.out.println();
}
}
}
โ ์ฃผ์ํ ์
integers[0]=new int[2]
๋ฐฐ์ด์ ์ฐธ์กฐ๋ฅผ ๋์ ํจ์ผ๋ก์จ ๊ฐ๊ฐ ์ด๊ธฐํํ ํ์๊ฐ ์์ต๋๋ค.