1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

拡張for文の使い方

Posted at

for文を書く際に拡張for文を使うことが多いので、for文と拡張for文の違いや、拡張for文の利便性をまとめます。

目次
1.for文とは
2.拡張for文とは

1. for文とは

まず、for文について説明します。
for文は以下の要素で成り立ちます。
・for文で使用する変数の宣言と初期化を行う初期化式
・繰り返し処理が実行される条件を記載する条件式
・ループ処理が終わるたびに実行される変化式

for (初期化式; 条件式; 変化式;) {
    処理
}

サンプルに当てはめてみます。
iは0から始まり、numに1が足される処理が10回実行されます。

int num = 0;

for (int i = 0; i <10; i++;) {
    num += 1;
}

2. 拡張for文とは

次に、拡張for文について説明します。
拡張for文は、配列やArrayListなどのコレクションの要素に対して順番に処理を行うことができます。
()内には以下の要素を記載します。
・for文で使用する変数の型
・for文で使用する変数名
・処理を実行したい配列名またはコレクション名

for ( 変数名 : 配列名またはコレクション名) {
    処理
}

サンプルに当てはめてみます。
int型のscoresという配列の要素をfor文でループし、処理するたびにnumに1を代入しています。

int num = 0;
int[] scores = {60, 85, 74, 97, 100};

for (int test : scores) {
    num += 1;
}

この例は、通常のfor文でも表現することができます。
scoresの配列の数だけループするので同じ処理を実行できます。
ただし、このように比べると配列やコレクションの要素に対して処理を実行する場合は、拡張for文の方が可読性が高いことが分かります。

int num = 0;
int[] scores = {60, 85, 74, 97, 100};

for (int i = 0; i < scores.length; i++) {
    num += 1;
}

3. おわりに

同じ処理をさせたい場合でもコードの書き方は一通りではないことや、多様な書き方ができる中でも可読性を重視して推奨される表現があることを学びました。

その時々に応じて、最適な表現を選べるように勉強を続けていきたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?