Page 20 -
P. 20

N으로 모두 같은 경우이다(즉 M×N 행렬과 같다). 자바에서 2차원 배열 생성은 단순하게 []를 더
               표기하여 차원을 하나 더 늘리면 된다. 이 책에서는 i번째 열과 j번째 행을 a[i][j]와 같이 표기하
               기로 한다.

               2차원 배열 변수의 선언은 타입 뒤에 대괄호 [] 두 쌍을 표기하고, 배열의 생성을 위해서는 대괄호
               안에 각각 행과 열의 크기를 표기한다.

                   double[][] a = new double[M][N];

               이 책에서는 이러한 배열을 M×N 배열로 부르기로 한다. 관례로 첫 번째 차원은 열의 개수이고 두
               번째 차원은 행의 개수이다. 1차원 배열과 마찬가지로, 자바에서는 2차원 배열이 숫자 타입인 경우

               디폴트 값인 0으로(boolean 타입일 경우 false로) 초깃값을 채워준다. 디폴트 초기화는 2차원 배열에
               서 더더욱 편리하다. 왜냐하면 2차원 배열을 초기화하기 위해서는 더 복합한 for 구문을 작성해야 하
               기 때문이다. 한 줄짜리 2차원 배열 디폴트 초기화 선언과 동등한 작업을 직접 구현하면 다음과 같은
               코드가 필요하다.

                   double[][] a;
                   a = new double[M][N];
                   for (int i = 0; i < M; i+ +)
                       for (int j = 0; j < N; j+ +)
                           a[i][j] = 0.0;

               이 코드는 배열 항목들을 0으로 초기화하기 위해 중첩된 루프를 이용하고 있다. 초깃값으로 0이 아닌
               다른 값을 가져야 한다면 디폴트 초기화를 이용할 수 없기 때문에 이와 같은 복잡한 코드를 작성해야
               한다.



                  표 1-4 전형적인 배열 작업 코드
                         작업                                구현(부분 코드)
                    배열 항목들 중에서         double max = a[0];
                     가장 큰 값 찾기         for (int i = 1; i < a.length; i+ +)
                                           if (a[i] > max) max = a[i];

                      배열 항목들의          int N = a.length;
                      평균값 계산           double sum = 0.0;
                                       for (int i = 0; i < N; i+ +)
                                           sum += a[i];
                                       double average = sum / N;

                 배열을 또 다른 배열로 복제       int N = a.length;
                                       double[] b = new double[N];
                                       for (int i = 0; i < N; i+ +)
                                           b[i] = a[i];







               032
   15   16   17   18   19   20   21   22   23   24   25