//기본타입의 배열 사용 방법 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();

}

}

+ Recent posts