TxKxZxWx's blog

AWS SAA、Javaの学習

Java学習 10日目 「2次元配列」

「2次元配列をループで処理する」

 

String teams = {{"勇者", "戦士", "魔法使い"}, {"盗賊", "忍者", "商人"}, {"スライム", "ドラゴン", "魔王"}};

for (int i = 0; i < teams.length; i++) {
  for(int j = 0; j < teams[i].length; j++) {
    System.out.print(teams[i][j] + " ");
  }
  System.out.println ( " " );
  System.out.println ( "---" );

 

 

二次元配列をループで処理するにはfor文を2つ組み合わせる。

.lengthによって最初のfor文では{"勇者", "戦士", "魔法使い"}, {"盗賊", "忍者", "商人"}, {"スライム", "ドラゴン", "魔王"}の要素数を。

2番目のfor文では{"勇者", "戦士", "魔法使い"}の中の要素数を求めている。

 

これを拡張for文で出力すると以下のようになる。

 

 

String teams = {{"勇者", "戦士", "魔法使い"}, {"盗賊", "忍者", "商人"}, {"スライム", "ドラゴン", "魔王"}};

for (String team : teams) {
  for (String player : team) {
    System.out.print(player + " ");
  }
  System.out.println("");
  System.out.println("---");

 

 

 

 

・「2次元配列をnewで作成する」

 

newメソッドによって新しい配列を作ることができる。

 

例題:

2次元配列を作成して、ループで出力しています。
この配列の初期値を、全て1にして出力してください。

 

期待する出力値:
111
111

 

解答:

int array = new int[2][3];

for (int i = 0; i < array.length; i++) {
  for (int j = 0; j < array[i].length; j++) {
    array [i] [j] = 1;
    System.out.print( array [i] [j] );

 

 

 

int[] array = new int[2][3]; によって2列3行の二次元配列が新たに作られる。

array [i] [j] = 1; で初期値を設定。