noblog!バンコク生活はなぜ良いのか

生のバンコク情報をおとどけ!

ゼロから始めるJava学習 in バンコク その21 Java入門編5:2次元配列を理解しよう!スタート

もうメシは食ったかの?儂はノブじゃ。

f:id:nobubkk:20180803142726p:plain

儂はいま「paizaラーニング」を利用してJavaの勉強に取り組んでいる。

paizaラーニングJava入門編全10講座中、入門編5まで進めている。

 

 

 

#03:2次元配列を操作する

今回は、要素の更新と要素の長さの調べ方だった。

前回の内容に前のチャプターで習ったことの組み合わせだ。

 

要素の更新

まずは下のような2次元配列があったとしよう。

String[ ][ ] teams={{"犬", "サル", "栗"}, {"キジ", "カニ", "うす"}, {"蜂", "牛のふん"}};

 

System.out.print(teams[0][0]);

System.out.print(","+teams[0][1]);

System.out.println(","+teams[0][2]);

System.out.println("-----");

これで、犬,サル,栗と表示された。※ピザ子さん(恋するピザ子)さんありがとうございます!

 

ここからインデックスteams[0][0]の「」を「柿の種」に変えたい。

そういう場合は、

teams[0][0] = "柿の種";

 

これだけでOK。

柿の種,サル,栗と表示された。

 

要素の長さ

次に要素の長さを調べたい。

これも以前勉強した通り、lengthを使えばよい。

配列全体の長さは、

System.out.println(teams.length);

配列を取り出してその長さを調べるときは、

System.out.println(teams[0].length);

これで、

3

3

と出力された。

 

この回は、わりと分かりやすく特に困ることはなかった。

演習問題も簡単。

次に行こう!

 

#04:2次元配列をループで処理する

まあ、当たり前だがいちいち出力するのに一行一行書いていくわけにはいかない。

ということで、ループを使って出力させる。

 

for文の場合

前回の配列を使って、

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文の場合

次はこれを拡張for文で書いてみよう。

String[ ][ ] teams={{"犬", "サル", "栗"}, {"キジ", "カニ", "うす"}, {"蜂", "牛のふん"}};

 

for (String[ ] team : teams){

for (String member : team){

System.out.print(member+" ");

}

System.out.println("");

System.out.println("-----");

}

これで、

犬 サル 栗

-----

キジ カニ うす

-----

蜂 牛のふん

-----

と出力された。

 

ここで疑問点が・・・

この問題はレッスン中に出てくるのだが、儂は一度流れを聞いてから可能な限り自分でコードを書いてみる。

もちろん、最初は間違いだらけでうまくいかないが、そのおかげできちんと理解できていないことをその都度修正できるのが良いところだ。

 

で、今回の問題ではここでつまってしまった。

拡張for文で、

for (String[ ] team : teams){

for (String member : team){

Syst・・・

1回目の( )内では、配列の[ ]があるのだが、2回目の( )内ではStringの後ろに配列を表す[ ]が入っていない。

2回目のfor文では、teamの要素を見ているので、例えば1回目なら{"犬", "サル", "栗"}を指しているはずだ。

これは配列ではないのか?

あれ?でも以前はカンマで区切って取り出したような・・・

ああ、また頭の中がごちゃごちゃしてきた。

もう一度その辺を確認しておかねばならない。

 

まとめ

やはりまだうろ覚えなところがあって、そこで学習が細かく寸断されてしまう。

でも仕方がない。

一回一回きちんと復習しながら先に進めていこう。

 

 

※有料講座の内容は少し問題等を改変しています。

これからプログラミングの勉強を始めようと思っている方、ぜひ一緒にやっていきましょう。

今宵はここまで。また次を楽しみにしておれ。

 

 

ページを閉じる前に、クリックしてから閉じてね。よろしくお願いします!

にほんブログ村 海外生活ブログ タイ情報へ
にほんブログ村

にほんブログ村 海外生活ブログへ
にほんブログ村