イントロダクション
前回やったFor文よりも簡単な書き方ができるFor文です。これは配列や、リスト(Listインターフェース)などのコレクション(Collection)をループするときに便利な書き方です。
もちろん、配列でも便利です。
<実行してみた>
拡張for文の書き方
今回は、拡張for文の書き方をやります。書き方は以下のようになります。
for (取り出した変数 : 配列などの変数) { // 何かしらの処理 }
for文+if文
for文+switch文
前回のfor文
前回やったfor文は昔からあるもので、色んな事に使用できます。下のような書き方です。
for (初期化 ; ループ条件 ; ループする時の処理) { // 何かしらの処理 }
拡張for文
一言で言えば使いやすい、なのですが、それは配列やリストをループする時の話です。使い方次第では色んなことができると思います。実際に使用できるサンプルコードを下に示します。
配列でループ
配列は、データが一つの変数に複数の値が番号付きで並んでいるよう名イメージです。目で見えるものではないので、自分なりのイメージを持つと理解しやすいと思います。下の動画は、While文を使っていますが、配列に関して解説した動画になります。
public static void main(String[] args) {
String[] arr = new String[]{"一郎", "二郎", "三郎"};
for (String name : arr) {
System.out.println("私の名前は、" + name + "です");
}
}
こんな感じです。ちなみにリストでやる場合も同じような形です。
List
public static void main(String[] args) {
List<String> list = new ArrayList<String>;
list.add("一郎");
list.add("二郎");
list.add("三郎");
for (String name : list) {
System.out.println("私の名前は、" + name + "です");
}
}
ラムダ式
public static void main(String[] args) {
List<String> list = new ArrayList<String>;
List<String> list = new ArrayList<>();
list.add("一郎");
list.add("二郎");
list.add("三郎");
// ここがラムダ式
list.forEach(System.out::println);
}
<For文を使ってみた>
<String型とchar型>※後半にfor文の実装を行なっています。
問題
for文を一回使用して、コンソール出力にて下のような絵を描画してください。「*(アスタリスク)」を使って描画します。
上から順にアスタリスクが1個, 2個, 3個, 4個, 5個, 6個と並んでいます。
* ** *** **** ***** ******
問題2
拡張for文を使用して、次のコードを書き換えてください。
public class Mondai() {
public static void main(String[] args) {
int[] numArray = new int[] {3, 2, 1, 0};
String[] strArray = new String[] {"あああ", "aaa", "bbb", "おおお"};
for (int i = 0; i < 4; i++) {
int val = numArray[i];
System.out.println(val + "番目の値: " + strArray[val]);
}
}
}
でわでわ。。。