앱 만들기/안드로이드 study

자바 배열의 메모리.

나도처음이야 2020. 8. 13.

public class ArrayTest {

 

           public static void main(String[] args) {

                     // TODO Auto-generated method stub

 

                     int[] a1 = new int[10];

                     int a2 [] =new int[10];

                    

                     System.out.println("a1 의 갯수 :" + a1.length);

                     System.out.println("a2의 갯수 :" + a2.length);

                    

                     int[] a3= {1,2,3};

                     System.out.println("a3의 갯수  " + a3.length);

               System.out.println("a3[2] = " + a3[2]);

           }

 

}

a1 의 갯수 :10
a2의 갯수 :10
a3의 갯수  3
a3[2] = 3

++++++++++++++

 

1. 배열은 하기 처럼, 괄호 위치를 자유롭게 선언 할 수 있다.

    결과 값은 같다.

     int[] a1 = new int[10];

     int a2 [] =new int[10];

                    

2. 배열은 선언과 동시에 초기화 할 수 있다.     

 

     int[] a3= {1,2,3};         

 

3. 배열의 참조 변수는 값을 가진 것이 아니라, 주소를 가지고 있다.

          a2 = Arrays.copyOf(a3, a3.length);

          System.out.println("a2 = " + a2);

          System.out.println("a2[2] = " + a2[2]);

          System.out.println("a3 = " + a3);

 

// 즉, a3의 값이 a2 로 복사 된 것이지 실제 주소값은 다르다.

a2 = [I@4e25154f
a2[2] = 3
a3 = [I@7852e922

 

이 처럼 배열을 이해하는데 있어서, 값 과 메모리 주소를 구별 하는 것이 가장 중요하다.

 

반응형

댓글