016-Javaの基本-配列のネストとfor文【新人エンジニアが最初に覚えたい100のJava文法】
ユーチューブ動画
配列のネストとfor文について解説します。
ソースコード
public class ExampleArrayNestFor { public static void main(String[] args) { int score[][] = { { 100, 80, 90, 90 }, { 90, 90, 90, 90 }, { 60, 90, 80, 70 } }; String label[] = { "Tom", "John", "Mary" }; for(int i = 0; i < score.length; i++){ System.out.print(label[i] + "'s score:"); for(int j = 0; j < score[i].length; j++){ System.out.print(score[i][j] + " "); } System.out.println(); } } }
解説
配列のネストとfor文について解説します。
ネスト(nest)とは元々ハチやアリの巣のことで、部屋の中に部屋があるイメージです。
配列のネストもfor文などの繰り返し構造と相性がよく、上手に記述すれば、短いコードで多くの処理を実行することができます。
サンプルコードを確認しましょう。
配列のscoreは、配列のネストが利用されています。
100 80 90 90という配列、90 90 90 90という配列、60 90 80 70 という配列、
この3つの配列を1つにまとめた配列になっています。
文字列の配列として、Tom John Maryの3つ文字列が配列labelに格納されています。
最初のfor文を確認しましょう。変数int i=0は初期値ですね、score.lengthの部分は、
配列の要素数を示します。配列scoreは、配列のネスト全体を示しますから、
要素数は3となります。変数iは0、1、2と繰り返します。
内側のfor文を確認しましょう。
変数j=0が初期値です。
Score[i].lengthは最初のfor文によって、値が変わります。
今回は、どの配列をとっても、要素が4となりますから、score[0].length、score[1].length、score[2].lengthとなって、それぞれの要素数は4となります。
まとめると、変数iが0のとき、変数jが0、1、2、3、と繰り返し、
変数iが1のとき、また変数jが0、1、2、3と繰り返していくという流れになり、
配列の要素が出力されるという形になります。
結果を確認しましょう。Printになっているところは、改行しないので、右の方向に出力されます。
ラベルの文字列を出力して、変数jの繰り返しを出力して、1行分終わると、printlnメソッドが呼び出されて改行するといった結果になります。
ちょっと難しいコードですが、ブロックの単位でどんな処理をしているのか、まとめるとわかりやすくなます。
慌てずに一つ一つ整理して、進めてみてください。
以上、配列のネストとfor文について解説しました。
このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。
投稿者プロフィール
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
- 新入社員2024年11月23日「ゲシュタルト崩壊」とシステム開発
- 新入社員2024年11月23日データベースでテーブル名やフィールド名にスペースを使うことは、一般的には推奨されていません
- 新入社員2024年11月23日「データにはなぜ型が必要なのか?」を2進数の観点から解説
- 新入社員2024年11月23日ディスプレイの解像度の意味と変更方法