본문 바로가기

Study/JAVA

2-D Array

2차원 배열에서 1차원까지의 값은 '레퍼런스 변수'임을 명심!!

- 배열명 뿐만 아니라 1차원 인덱스까지 주소 참조변수로 활용됨

 

int a[3][4]

-> 주소의 값을 담고 있는 레퍼런스 변수는 4개이다.

-> a, a[0], a[1], a[2]

-> 일반적인 값을 담을 수 있는 변수는 12개. a[0][0] ~ a[2][3]

 

int [row][col] a;

-> a.length : row의 값

-> a[n].length: column의 값

 

public class Main{
    public static void main(String[] args){
        char a[] = {'*', '*', '*'}; //배열 데이터 초기화를 '중괄호()'만으로도 구성할 수 있음
        char[] b = {'.', '.', '.'};
        
        char[] [] s = new char[7][12]; //7줄 12칸
        
        boolean bstar;
        for(int r = 0; r < s.length; r++){
            bstar = (r % 2 == 0) ? true : false;
            for(int c = 0; c < s[0].length; c += 3){
                
                //a, b, s[r] : 레퍼런스 변수
                System.arraycopy(bstar ? a : b, 0, s[r], c, 3);
                bstar = !bstar;
            }
        }
        
        for(int r = 0; r < s.length; r++){
            System.out.println(s[r]); //char 레퍼런스 변수로 출력
        }
    }
}

-> 배열 데이터 초기화를 위해 '중괄호'만으로도 가능함

-> 레퍼런스 변수를 이용하여 배열 데이터를 복사할 경우 가장 빈번하게 사용되는 함수는

   : System.arraycopy( )

'Study > JAVA' 카테고리의 다른 글

var  (0) 2021.02.16
bit operator  (0) 2021.02.16
1 - D Array  (0) 2021.02.15
Array(2)  (0) 2021.02.15
Array(1)  (0) 2021.02.15