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

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

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

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

f:id:nobubkk:20180803142726p:plain

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

 

 

昨日からJava入門編5に突入した。

全10レッスンのうち、ついに半分にたどり着いたようだ。

演習問題は、全142問中78問終了。

f:id:nobubkk:20181005152657p:plain

パーセンテージでは44%が終了したようである。

 

 

Java入門編5 #01:多次元配列の概要

paiza.jp

2つのインデックスで要素を指定する2次元配列について基本的な考え方を学習するらしい。

 2次元配列を使うと複雑なデータの処理もできるようになるとの説明だ。

paizaのスキルチェック問題にも2次元配列はたくさん出ているそうなのでしっかり練習してスキルチェック問題にもそのうちチャレンジしていきたい。

このレッスンの目的は、実用的なプログラミングに欠かせない2次元配列を理解することの説明もあった。

実用的な問題に入っていけるようでワクワクしている。

 

データ構造

データ構造というのはデータの集まりを格納するフォーマットで、例えば、

・変数 player="勇者";

・配列 player[0]="勇者";

・2次元配列 worldMap[1][2]="城";

 こういうものの総称をデータ構造という。

 

#02:2次元配列を作成する

まずは配列のおさらいを。

String[ ] teamA={"勇者","戦士","魔法使い"};

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

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

System.out.print(teamA[2]);

System.out.println(" ");

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

 これで配列のできあがり。

出力は、勇者,戦士,魔法使いとなった。

 

また、要素を変数で指定することもできた。

上のコードの最初のところを、勇者からplayer変数に変えてみると、

String player="盗賊";

String[ ] teamA={player,"戦士","魔法使い"};

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

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

System.out.print(teamA[2]);

System.out.println(" ");

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

こうすると、出力は盗賊,戦士,魔法使い となった。

 

次に準備としてteamBという配列をteamAを使って準備する。

String[ ] teamB={teamA[0],teamA[1],teamA[2]};

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

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

System.out.print(teamB[2]);

System.out.println(" ");

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

こうすると、出力は

盗賊,戦士,魔法使い

------

盗賊,戦士,魔法使い

------

 となった。

 

2次元配列

ここから2次元配列の説明だ。

チームC,D,Eの配列を作ってから次のようにコードを書く。 

String[ ] teamC={"勇者","戦士","魔法使い"};

String[ ] teamD={"盗賊","忍者","商人"};

String[ ] teamE={"スライム","ドラゴン","魔王"};

 

String[ ][ ] teams={teamC,teamD,teamE};

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

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

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

System.out.println(" ");

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

とすると、勇者,戦士,魔法使いと表示された。

つまり、[0][0]の部分が、最初の[0]はteamCまたはDまたはEを指定し、次の[0]でその指定されたチームの配列番号を指定するというわけだ。

 

 なので、

 System.out.print(teams[1][2]);

 なら忍者だし、

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

 ならスライムである。

 

 まとめ

とりあえず今回は2次元配列の書き方だけ学習した。

このあと、流れから言ってループ処理などが出てくるのだろう。

しっかりと覚えていきたい。

 

 

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

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

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

 

 

 

 

 

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

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

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