//기본타입의 배열 사용 방법 1 선언 int[] a=null;//선언 //정의 a=new int[5]; //초기화 a[0]=2;a[1]=5;a[2]=3;a[3]=9;a[4]=8; //방법 2 선언 정의 초기화 int[] b=new int[]{2,5,3,9,8}; //방법 3 선언 정의 초기화 int[] c={2,5,3,9,8}; for (int i = 0; i < a.length; i++) { System.out.println(a[i]+"\t"); } System.out.println("=============="); int[] d=a;//참조에 대한 대입 a[4]=55; //a의 값을 변동시키면 d의 값이 바뀔까? for (int i = 0; i < a.length; i++) { System.out.println(d[i]+"\t"); } System.out.println(); int[] e=new int[5]; System.arraycopy(d, 0, e, 0, d.length); //value assignment 0은 숫자 d[4]=100; for (int i = 0; i < e.length; i++) { System.out.println(e[i]+"\t"); }
========================================
*2차원 배열
public static void main(String[] args) {
System.out.println("//2차원 배열 방법 1");
int[][] a=new int[4][3];
a[0][0]=1;
a[0][1]=2;
a[3][2]=5;
println(a);
System.out.println("//2차원 배열 방법 2(지그재그ed(불규칙)도 가능");
int[][] b=new int[3][];
b[0]=new int[4];
b[1]=new int[5];
b[2]=new int[6];
println(b);
System.out.println("//2차원 배열 방법 3");
int[][]c=new int[][]{{1,2,3,4,5},{2,3,4,5,6},{6,7,8,9,0}};
println(c);
System.out.println("//2차원 배열 방법 4");
int[][]g={{1,2,3,4,5},{2,3,4,5,6},{6,7,8,9,0}};
println(g);
System.out.println("copy1");
int[][] d=new int[c.length][c[0].length];
for (int i = 0; i < c.length; i++) {
System.arraycopy(c[i], 0, d[i], 0, d[i].length);
}
c[0][0]=-5;
println(d);
System.out.println("copy2");
int[][]e=new int[c.length][c[0].length];
System.arraycopy(c, 0, e, 0, e.length);
c[0][0]=-4;
println(e);
System.out.println("copy3");
int[][]f=new int[c.length][c[0].length];
f=e;//shallow copy
e[0][0]=-400;
println(f);
}
public static void println(int[][] p) {
for (int i = 0; i < p.length; i++) {
for (int j = 0; j < p[i].length; j++) {
System.out.print("["+p[i][j]+"]");
}
System.out.println();
}
}