📝

【Java】for文と拡張for文の違い

2021/10/10に公開
2

はじめに

この記事は学習ノートです。
以下の記事を読んで、理解したことを自分なりにまとめました。

参考にした記事

https://qiita.com/takahirocook/items/470b2858de1a4f99b334
https://www.internetacademy.jp/it/programming/javascript/difference-between-for-statement-and-extended-for-statement.html
https://www.sejuku.net/blog/22219

for文の特徴

  • 繰り返し処理に使う
  • 実行させたい処理の繰り返し条件を指定し、指定した条件になれば処理を終了する
  • breakで特定の値のときにループを抜けたり、continueで処理をスキップしたりできる
for(初期化式; 条件式; 変化式) {
    // 繰り返したい処理
}
test.java
public class test {
    public static void main(String[] args) {
        for(int i = 1; i <= 5; i++){
            System.out.println("Hi!");
            // Hi! が5回表示される
        }
    }
}

拡張for文の特徴

  • 配列やコレクション(大きさを決めない配列のようなもの)の、全ての要素に対して処理を行う
  • for文と違って要素の指定ができない(先頭から1つずつ値取り出す処理しかできない)
for(型 変数名: 配列名またはコレクション名) {
    // 繰り返したい処理
}
test.java
public class test {
    public static void main(String[] args) {
        String[] animals = {"Dog", "Cat", "Rabbit"};
        for(String animal: animals) {
            System.out.println("I love " + animal + ".");
            // I love Dog.
            // I love Cat.
            // I love Rabbit.
        }
    }
}

for文と拡張for文の使い分け

  • 指定した条件で繰り返し処理を実行するとき(「iが10になるまで繰り返す」とか)
    → for文
  • すべての要素に対して処理を実行するとき(配列の途中で処理を止める必要がないとき)
    → 拡張for文

おわりに

for文ばかり使っていましたが、拡張for文もスッキリ書けていいな〜と思いました。
すべての要素に対して同じ処理を行うなら、拡張for文を使ってみようかな〜😌

Discussion

yukiyuki

for文の違いがあいまいだったので、とてもわかりやすかったです!☺
もし余裕があったらオーバーライドとかオーバーロードとかも載せてほしいですっ