はじめに
以前にforループについてまとめたが、forにはもう一つ「拡張forループ」と呼ばれるものがある。
forループのところでも少し扱ったが、私が内容を忘れていたため改めて「拡張forループ」についてまとめた。
forループについては以下参照。
forループ Javaプログラミング初心者の記録vol.19
拡張forループとは?
配列の中に書かれた要素を全て読み取るために使われる。
forループよりもコードが読みやすく、エラーも起きにくい。
配列の要素を持つコードと一緒に使われる。
配列については以下参照。
配列とは何か Javaプログラミング初心者の記録vol.26
拡張forループの使い方
拡張forループの構文は以下の通り。
変数の型は「int」や「String」などのことで、データの種類を決めるためのもの。
変数の型については以下参照。
変数の型の種類について今更まとめてみた Javaプログラミング初心者の記録vol.25
この変数の型は、配列の中に書いたデータによって決まる。
配列の中に文字列を書いたら「String」、整数なら「int」って感じ。
変数名は自由につけることができる。
配列名は、配列を作ったときにつけた名前を入れる。
変数名と配列名の間にはコロン(:)を入れること。
forループではセミコロン(;)だったけど、拡張forループではコロン(:)を使うのね。
{}内には処理したい内容を書く。
拡張forループを使った簡単なコード
以下に拡張forループを使用して簡単なコードを書いてみた。
public class EnhancedForLoop {
public static void main(String[] args) {
String[] season={“春”,”夏”,”秋”,”冬”};
for(String kisetsu:season) {
System.out.println(kisetsu);
}
}
}
夏
秋
冬
「String[] season={“春”,”夏”,”秋”,”冬”};」が配列。
「for(String kisetsu:season) {System.out.println(kisetsu);}」が拡張forループ。
配列を作った際に、「春、夏、秋、冬」という文字データを入力したため、文字列の型を表す「String」を使用。
変数名につけた「kisetsu」は拡張forループの中で使う変数名。
「season」は、配列を作ったときにつけた配列の名前。
{}内には「kisetsu」という変数に入ったデータを表示させるコードが書かれている。
最初に言ったように、拡張forループには「配列の中に書かれた要素を全て読み取る」という機能がある。
そのため、拡張forループに作成した「kisetsu」という変数の中にseason配列の中に書かれているデータが読み取られている。
データが表示される順番については、書いた順。
赤、青、白という順番に書いたら、「赤、青、白」と表示される。
もしも拡張forループがなかったら
上で使ったコードを拡張forループを使わずに表示させようとしたもの。
public class EnhancedForLoop {
public static void main(String[] args) {
String[] season={“春”,”夏”,”秋”,”冬”};
System.out.println(season);
}
}
実行すると以下の表示になった。
配列はデータのまとまりを1つの変数名に収めただけ。
拡張forループを使わないなら、season[0],season[1]・・・などと記入しなければならない。
String[] season={“春”,”夏”,”秋”,”冬”};System.out.println(season[0]);
System.out.println(season[1]);
System.out.println(season[2]);
System.out.println(season[3]);
}
}
夏
秋
冬
配列の中に書かれたデータをすべて表示させたいなら、一つ一つ書いていくのが面倒だから拡張forループを使用したほうが便利。
似たようなコードはまとめて書くというのがプログラミング!
最後に
以前に拡張forループについては少し扱ったけれど、振り返ってみてみれば何も覚えていなかったから改めてまとめることにした。
前回は全く理解できなかったけれど、プログラミング学習を進めて理解していくうちに「そういうことか」というように納得できるようになった部分がいくつもあるから嬉しい。
前の記事で扱ったenumについても、この拡張forループを使うことができるみたいだから、まとめようと思う。
enumについては以下参照。
【Javaプログラミング】enum:列挙型とは?使い方についても分かりやすく-プロショvol.60
コメント