オブジェクト指向Javaプログラミング入門 第4章 配 列 近代科学社©2008 Toru Kato Masahiro Higuchi Shiro Takata 配列 関連する複数のデータを、一つの名前で統一 的に扱うためのオブジェクト 個々のデータをそれぞれ別の変数に代入して 扱うような煩雑さを避けることができる 個々の要素は、配列名(配列変数名)とその後 に続くindex(添字)を用いて処理できる [0] [1] [2] [3] 配列名 2 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列変数evenの宣言と 配列の生成 [0] [1] [2] [3] even 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } 3 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列evenへ、データを格納 [0] [1] [2] [3] even 0 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } 4 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列evenへ、データを格納 [0] even 0 [1] [2] [3] 2 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } 5 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列evenへ、データを格納 [0] even 0 [1] [2] 2 4 [3] 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } 6 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列evenへ、データを格納 [0] even 0 [1] [2] [3] 2 4 6 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } 7 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列を用いてデータをまとめ てしまえば、配列名を用いて それらのデータに対する処 理が簡潔に記述できる [0] even 0 [1] [2] [3] 2 4 6 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } 8 1次元配列を使ったプログラム例 プログラム例4.1.1(P. 95)改 7 8 9 10 11 12 int[] even; even = new int[4]; even[0] = 0; even[1] = 2; even[2] = 4; even[3] = 6; 配列の大きさを利用すると きには、lengthを使うべき [0] even 0 [1] [2] [3] 2 4 6 13 System.out.print(even.length + "番目までの偶数:"); 14 for (int i = 0; i < even.length; i++) { 15 System.out.printf("%4d", even[i]); 16 } 9 2次元配列(3行4列)aに整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3] 10 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 0 0 0 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3] 11 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 0 1 1 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3] 12 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 0 2 2 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3] 13 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 0 2 3 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3] 14 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 1 0 1 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 [2][0] [2][1] [2][2] [2][3] 15 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 1 1 2 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 [2][0] [2][1] [2][2] [2][3] 16 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 1 2 3 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 3 [2][0] [2][1] [2][2] [2][3] 17 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 1 3 4 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 3 4 [2][0] [2][1] [2][2] [2][3] 18 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 2 0 2 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 3 4 [2][0] [2][1] [2][2] [2][3] 2 19 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 2 1 3 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 3 4 [2][0] [2][1] [2][2] [2][3] 2 3 20 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 2 2 4 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 3 4 [2][0] [2][1] [2][2] [2][3] 2 3 4 21 2次元配列(3行4列) a に整数を順次代入する様子 (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { 2 3 5 a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a 1 2 3 4 [2][0] [2][1] [2][2] [2][3] 2 3 4 5 22 2次元配列の大きさも length で取得できる。length を使うと、 配列の大きさが変わっても他の部分は変更不要 for(int i = 0; i < a.length; i++) { for(int j = 0; j < a[i].length; j++) { a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 0 1 2 3 [1][0] [1][1] [1][2] [1][3] 2 3 4 a.length [2][0] [2][1] [2][2] [2][3] 2 3 4 5 a[i].length (= 4) (3 ) = 配列 a 1 23
© Copyright 2024 ExpyDoc