catch-img

Java入門者向けfor文の基礎知識。用語解説やサンプルの紹介も

Javaのコードを記述する上では、for文への理解は必須です。for文の役割や用途、具体的な記述について、基礎から学んでいきましょう。サンプルコードも紹介しますので、for文を使う際には参考にしてみてください。

目次[非表示]

  1. 1.Javaのfor文を理解しよう
    1. 1.1.for文はどんなときに使うのか
    2. 1.2.サンプルプログラムと仕組み
  2. 2.仕組みを詳しく解説
    1. 2.1.変数を使うためには初期化が必要
    2. 2.2.条件式の評価により繰り返しが実行、終了
  3. 3.Javaのfor文の使い方例
    1. 3.1.for文のネスト(入れ子)
    2. 3.2.繰り返し処理を中断する「break文」
    3. 3.3.中断して、処理の先頭に戻る「continue文」
  4. 4.for文はプログラミングに必須の知識


Javaのfor文を理解しよう

プログラミングでは、同じ処理を何度も行うことがよくありますが、同じコードを繰り返して書くのはミスの原因になりますし、処理が重くなる可能性もあります。そんなときに便利なのが「for文」です。

forとは、どんな処理を行う文なのでしょうか。

for文はどんなときに使うのか

for文は、「繰り返し処理」を行うときに使います。より具体的に言えば「規定回数に達するまで同じ処理を繰り返す」という命令文です。規定回数が決まっていない場合、Javaでは「while文」を用います。

例えば「1年にx%ずつ資産を増やした場合に、10年後に資産はいくらになっているのか」という計算式を作る場合は、for文が適しています。

また身近なものとしては「メールを50件表示する」「規定回数に達するまで同じサービスを利用する」といったメールフォームやショッピングアプリなどでも使われることがあります。

サンプルプログラムと仕組み

for文は次のように書くという決まりがあります。

for(初期化式; 条件式; 変化式){
 実行する処理
}
  • 初期化式とは、変数を初期化すること
  • 条件式とは、何回繰り返すのかなどの、繰り返しが実行される条件
  • 変化式とは、ループに使用するための変数を操作する式のこと

具体的には次のように記述します。

for (int i = 1; i <= 5; i++){
 System.out.println(i + "回目の処理を実行しています");
}

「i++」とは、「処理が終わるたびにiに1を加算する」という命令です。この処理を実行すると、次のようにコンソールに表示されます。

1回目の処理を実行しています

2回目の処理を実行しています

3回目の処理を実行しています

4回目の処理を実行しています

5回目の処理を実行しています

『「〇回目の処理を実行しています」という文章を5回アウトプットさせろ』という命令文です。for文の基本の形ですので覚えておきましょう。

■関連記事

  Javaが難しい理由とは。学習方法や注意点をあわせて解説 | Java・フロントエンド研修のジョブサポート Javaはプログラミング言語の中でも習得が難しく、挫折してしまう人が少なくありません。Javaを習得するためにも、Javaの学習が難しい原因と、それでもJavaが人気である理由を知っておきましょう。学習方法や注意点についても解説します。 Java・フロントエンド研修のジョブサポート

通年開講プロエンジニアコース(Java1~3ヶ月)-株式会社ジョブサポート

仕組みを詳しく解説

for文がどのような仕組みで処理を行っているのかを、より詳しく見ていきましょう。

for (int i = 1; i <= 5; i++){
 System.out.println(i + "回目の処理を実行しています");
}

先ほど使用したこのfor文を例に解説します。

変数を使うためには初期化が必要

プログラミングで変数を使う場合、初期化と宣言が必要になります。宣言をすることで自動で変数を初期化してくれるプログラムもありますが、Javaの場合は初期化と宣言は必ずしなければなりません。

仮に初期化をせずに処理を実行すると、エラーになる可能性があります。先ほど挙げた例文を見ていきましょう。

「int i =1」というのが、初期化に該当する文です。

この例では「1からカウントする」という初期化の指定を行いましたが、プログラムによっては0の値からスタートしたり、より高い数字からスタートするなど、初期化の値を変えることもあるでしょう。

初期化を行うことで、必ず決められた値から処理をスタートさせることが可能です。

条件式の評価により繰り返しが実行、終了

「i <= 5」に注目します。この一文があることで「iが5以下の場合はtrue(この処理を実行する)」という意味を持ちます。

5を超えた場合は、「i <= 5」の条件に当てはまらなくなる、false(この処理を実行しない)となり、繰り返しが終了し、次の処理に移ることになるのです。

■関連記事

  Javaを使ったプログラム作成に最適なエディタおすすめ6選 | Java・フロントエンド研修のジョブサポート コーディングを行う上で、エディタの選択は重要です。自分のスタイルや環境に合った適切なエディタを用いることで、作業効率は格段にアップするでしょう。この記事では、Javaを使うのに最適なエディタを6選紹介します。 Java・フロントエンド研修のジョブサポート

短期講座(Java入門5日・基礎10日)-株式会社ジョブサポート

Javaのfor文の使い方例

for文の使い方にはさまざまな種類があります。ここではよく使うfor文を具体例と共に見ていきましょう。

for文のネスト(入れ子)

ネスト(入れ子)とは、for文を多重層にする繰り返し処理です。これは、時計の短針と長針に例えればわかりやすいでしょう。

単純なfor文で書こうとすると、

//1時の時刻

for (int i = 1; i <= 60; i++){
 System.out.println("現在の時刻は1時"+i + "分です");
}

という処理を12時まで、12回に渡って記載する必要があります。

しかし、ネストを使うことによって、次のような書き方ができます。

for (int x = 1; x <= 12; x++) {
 for (int y = 1; y <= 60; y++) {
  System.out.println("現在の時刻は"+x+ "時"+ y+"分です");
  }
}

このように「より下の階層のループが終わったところで上の階層のループの回数にカウントする」というのが、ネストの基本的な使い方になります。

繰り返し処理を中断する「break文」

break文とは、繰り返しの途中であっても条件を満たすことで処理を中断するための文章です。具体的には次のように記載します。

for(初期化式; 条件式; 変化式){
 if(forループを抜ける場合の条件式){
  break;
  }
 (処理内容)
}

「ifの内容を満たした場合、for文を途中で中断する」という意味になります。while文で使う場合も同様です。

中断して、処理の先頭に戻る「continue文」

continue文は繰り返しを中断するbreak文とは違い、その周の処理だけを中断して、ループの先頭に戻す命令文です。

for(int i = 0; i<=5; i++){
 if (i % 2 == 0) {
  continue;
 }
 System.out.println(i);
}

この処理を実行すると、以下のような結果が出力されます。

1

3

5

上記命令文では、if (i % 2 == 0)で%を使って、iを2で割った時の残余(余り)を計算をしており、continueにより「1から5までの数字を2の倍数をスキップして出力する」という処理をしているため、1、3、5が出力されています。

このようにcontinue文は繰り返し処理において特定の条件をスキップするために利用されます。

■関連記事

  Javaの研修についていけない初心者には丁寧に教える。その理由とは | Java・フロントエンド研修のジョブサポート Javaの研修は教えるべきことが多く、これまでプログラミングに触れてこなかった初心者の中には、研修についていけず脱落する人もでてきてしまいます。なぜ脱落してしまうのか、その原因を知り、研修で脱落者を出さないように対策しましょう。 Java・フロントエンド研修のジョブサポート

オンライン・リモート講座(入門5日・基礎10日)-株式会社ジョブサポート

for文はプログラミングに必須の知識


「for文」はJavaだけでなく、色々なプログラムで利用されます。特定の条件下でループ処理を行うというfor文の特性は、命令文の省略や処理を軽くするなどさまざまなメリットがあります。

for文にはネストやbreak、continueなどの応用もあります。for文を使いこなせるようになることは、プログラミングを行う上で必須と言えます。

ジョブサポートでは通年開講で貴社の希望開始日に合わせたJava研修(通学、オンライン・リモート講座)の受け入れを行っており、助成金を活用すれば費用負担を軽減して研修受講ができるのでお気軽にお問い合わせ下さい。


メールマガジンの購読設定

ジョブサポートの最新情報をお届けするほか、

人事、採用教育担当者、若手エンジニア向けに

役立つ情報をお届けします。

アップロードしています。少々お待ちください。