Javaの拡張for文の書き方
私は、言語はJavaが1番得意(他と比べるとマシという意味)なのですが、わからないなーと思いながら放置してきた書き方(?)がたくさんあります。
具体的には、
・拡張for文
・enum(列挙型)
・ジェネリクス
・ラムダ式
などです。
入社までに一つずつ理解していきたいので、とりあえず拡張for文から勉強していきたいと思います!
拡張for文とは
拡張for文とは、配列やコレクションをfor文でぐるぐる回す(他の言い方がわからない…)のを、とても簡単に書く方法です。
構文
for(変数宣言 : 配列名またはコレクション名){ //処理 }
変数宣言→配列と同じ型の変数をなんでもいいから作る
配列名またはコレクション名→配列でも[]はいらない
処理→「変数宣言」の変数を使って処理を書く
:(コロン)は、inの意味だそうです。覚えておくと、変数宣言と配列どっちが先だっけ?って迷わずにすみそうです!
配列を拡張for文で回すコード
class ForSample1{ public static void main (String[] args){ int arr[] = {1, 2, 3, 4, 5}; for(int n : arr){ System.out.print(n + ","); } } }
実行結果
1,2,3,4,5,
コレクションを拡張for文で回すコード
import java.util.ArrayList; class ForSample2{ public static void main (String[] args){ ArrayList<String> arrayList = new ArrayList<String>(); arrayList.add("one"); arrayList.add("two"); arrayList.add("three"); for(String s : arrayList){ System.out.print(s + ","); } } }
実行結果
one,two,three,
おわりに
実際書いてみたら、思ってたより簡単でした。
:(コロン)を in と読み替えれば、配列と変数どっちが左だっけ?とか混乱しないと思うので、これからはどんどん使っていきたいです!