Java入門者向けfor文の基礎知識。用語解説やサンプルの紹介も
Javaのコードを記述する上では、for文への理解は必須です。for文の役割や用途、具体的な記述について、基礎から学んでいきましょう。サンプルコードも紹介しますので、for文を使う際には参考にしてみてください。
問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら
目次[非表示]
- 1.Javaのfor文を理解しよう
- 1.1.for文はどんなときに使うのか
- 1.2.サンプルプログラムと仕組み
- 2.仕組みを詳しく解説
- 2.1.変数を使うためには初期化が必要
- 2.2.条件式の評価により繰り返しが実行、終了
- 3.Javaのfor文の使い方例
- 3.1.for文のネスト(入れ子)
- 3.2.繰り返し処理を中断する「break文」
- 3.3.中断して、処理の先頭に戻る「continue文」
- 4.for文はプログラミングに必須の知識
Javaのfor文を理解しよう
プログラミングでは、同じ処理を何度も行うことがよくありますが、同じコードを繰り返して書くのはミスの原因になりますし、処理が重くなる可能性もあります。そんなときに便利なのが「for文」です。
forとは、どんな処理を行う文なのでしょうか。
若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら
for文はどんなときに使うのか
for文は、「繰り返し処理」を行うときに使います。より具体的に言えば「規定回数に達するまで同じ処理を繰り返す」という命令文です。規定回数が決まっていない場合、Javaでは「while文」を用います。
例えば「1年にx%ずつ資産を増やした場合に、10年後に資産はいくらになっているのか」という計算式を作る場合は、for文が適しています。
また身近なものとしては「メールを50件表示する」「規定回数に達するまで同じサービスを利用する」といったメールフォームやショッピングアプリなどでも使われることがあります。
サンプルプログラムと仕組み
for文は次のように書くという決まりがあります。
- 初期化式とは、変数を初期化すること
- 条件式とは、何回繰り返すのかなどの、繰り返しが実行される条件
- 変化式とは、ループに使用するための変数を操作する式のこと
具体的には次のように記述します。
「i++」とは、「処理が終わるたびにiに1を加算する」という命令です。この処理を実行すると、次のようにコンソールに表示されます。
『「〇回目の処理を実行しています」という文章を5回アウトプットさせろ』という命令文です。for文の基本の形ですので覚えておきましょう。
■関連記事
仕組みを詳しく解説
for文がどのような仕組みで処理を行っているのかを、より詳しく見ていきましょう。
先ほど使用したこのfor文を例に解説します。
学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら
変数を使うためには初期化が必要
プログラミングで変数を使う場合、初期化と宣言が必要になります。宣言をすることで自動で変数を初期化してくれるプログラムもありますが、Javaの場合は初期化と宣言は必ずしなければなりません。
仮に初期化をせずに処理を実行すると、エラーになる可能性があります。先ほど挙げた例文を見ていきましょう。
「int i =1」というのが、初期化に該当する文です。
この例では「1からカウントする」という初期化の指定を行いましたが、プログラムによっては0の値からスタートしたり、より高い数字からスタートするなど、初期化の値を変えることもあるでしょう。
初期化を行うことで、必ず決められた値から処理をスタートさせることが可能です。
条件式の評価により繰り返しが実行、終了
「i <= 5」に注目します。この一文があることで「iが5以下の場合はtrue(この処理を実行する)」という意味を持ちます。
5を超えた場合は、「i <= 5」の条件に当てはまらなくなる、false(この処理を実行しない)となり、繰り返しが終了し、次の処理に移ることになるのです。
■関連記事
Javaのfor文の使い方例
for文の使い方にはさまざまな種類があります。ここではよく使うfor文を具体例と共に見ていきましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら
for文のネスト(入れ子)
ネスト(入れ子)とは、for文を多重層にする繰り返し処理です。これは、時計の短針と長針に例えればわかりやすいでしょう。
単純なfor文で書こうとすると、
という処理を12時まで、12回に渡って記載する必要があります。
しかし、ネストを使うことによって、次のような書き方ができます。
このように「より下の階層のループが終わったところで上の階層のループの回数にカウントする」というのが、ネストの基本的な使い方になります。
繰り返し処理を中断する「break文」
break文とは、繰り返しの途中であっても条件を満たすことで処理を中断するための文章です。具体的には次のように記載します。
「ifの内容を満たした場合、for文を途中で中断する」という意味になります。while文で使う場合も同様です。
中断して、処理の先頭に戻る「continue文」
continue文は繰り返しを中断するbreak文とは違い、その周の処理だけを中断して、ループの先頭に戻す命令文です。
この処理を実行すると、以下のような結果が出力されます。
上記命令文では、if (i % 2 == 0)で%を使って、iを2で割った時の残余(余り)を計算をしており、continueにより「1から5までの数字を2の倍数をスキップして出力する」という処理をしているため、1、3、5が出力されています。
このようにcontinue文は繰り返し処理において特定の条件をスキップするために利用されます。
■関連サイト
for文はプログラミングに必須の知識
「for文」はJavaだけでなく、色々なプログラムで利用されます。特定の条件下でループ処理を行うというfor文の特性は、命令文の省略や処理を軽くするなどさまざまなメリットがあります。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)資料ダウンロードはこちら
for文にはネストやbreak、continueなどの応用もあります。for文を使いこなせるようになることは、プログラミングを行う上で必須と言えます。