Java の制御構造とは?プログラムの流れを変える仕組み
新人
「Javaの制御構造って何ですか?よく出てくる言葉みたいなんですけど…」
先輩
「いいところに気づいたね。Javaの制御構造は、プログラムの実行の流れをコントロールするための仕組みなんだ。」
新人
「実行の流れっていうのは、普通に上から順番に実行されるやつですか?」
先輩
「そのとおり。でも、場合によっては条件によって処理を変えたり、何度も繰り返したりする必要があるよね。そういうときに『制御構造』が使えるんだ。」
新人
「なるほど… 具体的にどういうものなんですか?」
先輩
「それじゃあ、制御構造の基本から見ていこうか。」
1. Javaの制御構造とは?
Javaの制御構造とは、プログラムの実行の流れを制御するための文(構文)のことです。プログラムは通常、書かれたとおりに上から下へと順番に実行されます。しかし、条件によって処理を変えたいときや、同じ処理を何度も繰り返したいときには、そのままではうまくいきません。
そこで登場するのが「制御構造」です。制御構造を使うことで、次のようなことが可能になります。
- 条件に応じて処理を分ける(分岐)
- 同じ処理を繰り返す(繰り返し)
- 途中で処理を抜ける(ジャンプ)
Javaでは、こうした制御構造を使って、より柔軟で実用的なプログラムを作ることができます。
2. 順次実行とは?
まずは、これまで学んできた「順次実行」について確認しましょう。Javaのプログラムは、基本的にmainメソッドの中に書かれた命令を上から順番に実行していきます。これが「順次実行(じゅんじじっこう)」です。
以下は順次実行の例です。
public class SequenceExample {
public static void main(String[] args) {
System.out.println("1行目の処理");
System.out.println("2行目の処理");
System.out.println("3行目の処理");
}
}
1行目の処理
2行目の処理
3行目の処理
このように、何も制御構造を使わなければ、プログラムは上から下へ、順番に実行されます。これがプログラミングの基本です。
3. 制御構造があることでどんなことができるようになるか
順次実行だけでは、現実のさまざまな状況に対応するには限界があります。たとえば、「点数が80点以上なら合格、それ未満なら不合格」といった条件分岐をしたい場合や、「同じ処理を10回繰り返したい」といった場面では、制御構造が必要です。
制御構造を使うことで、プログラムは以下のような動きを実現できます。
- ある条件のときだけ処理を行う(条件分岐)
- ある処理を繰り返す(ループ)
たとえば、条件によって処理を分けるには、「もし〜なら〜する」というような構文が必要です。このような処理を「分岐処理」と呼びます。Javaでは、ifというキーワードを使ってこのような処理を書きます。
また、「同じ処理を何度も繰り返す」ような場合には「繰り返し処理(ループ)」が必要になります。繰り返し処理にはforやwhileといったキーワードを使います。
今はまだこれらの詳しい書き方は学んでいませんが、これから先の学習で順番に身につけていくことになります。
制御構造は、プログラムをより人間の思考に近づけるために欠かせない仕組みです。例えば、「もし雨が降ったら傘を持っていく」「時間がある限り勉強する」など、日常生活の中にも制御構造に似た考え方がたくさんあるんです。
このように、Javaの制御構造を理解することで、現実世界のさまざまな状況をプログラムで表現できるようになります。
4. Javaにある代表的な制御構造の種類
Javaには、さまざまな制御構造が用意されており、状況に応じて実行の流れを柔軟に変えることができます。ここでは、Javaでよく使われる基本的な制御構造を紹介します。
- if文:条件によって処理を分ける
- switch文:複数の条件から一致するものを選んで処理する
- for文:指定した回数だけ処理を繰り返す
- while文:条件が成立している間、処理を繰り返す
- do-while文:最初に一度処理を実行し、その後条件が成立している間、繰り返す
- break文:繰り返し処理や
switch文を途中で終了させる - continue文:繰り返し処理の中で次の繰り返しに進む
これらの制御構造を理解して使えるようになることで、Javaプログラムは一気に自由度が高くなります。
5. 今後学ぶ制御構造の全体イメージ
制御構造は大きく分けて「分岐」と「繰り返し」の2種類に分けることができます。
● 分岐(条件によって処理を変える)
分岐は、条件に応じて実行する処理を切り替えるために使います。例えば、「点数が60点以上なら合格、そうでなければ不合格」のような場合に使われます。
- if文
- if-else文
- switch文
● 繰り返し(同じ処理を何度も行う)
繰り返しは、同じ処理を繰り返し行いたいときに使います。たとえば、「5回同じメッセージを表示する」「データがなくなるまで処理を続ける」といった場合に活用されます。
- for文
- while文
- do-while文
このように、制御構造の種類を分類して考えることで、学習がぐっと分かりやすくなります。まずは「分岐」と「繰り返し」に分けて、それぞれどんな用途があるのかを理解していきましょう。
6. Javaで制御構造を使うことでどんなことが可能になるか
Javaで制御構造を使えるようになると、プログラムの表現力が大きく広がります。単に命令を上から順に実行するだけでなく、「条件によって処理を分ける」ことや、「同じ処理を必要な回数だけ繰り返す」といった、より実践的な動作を実現できるようになります。
● 条件によって処理を変える
たとえば、「ユーザーの年齢が20歳以上なら入場可、それ未満なら入場不可」というような条件に応じた動作が可能です。こういった処理には、if文やswitch文が使われます。
● 同じ処理を繰り返す
また、「同じメッセージを10回表示する」「リストにあるすべてのデータを1つずつ処理する」といった場面では、for文やwhile文を使って繰り返し処理を実現します。
以下は、「メッセージを5回表示する」簡単なfor文の例です。
public class LoopExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("繰り返し処理 " + i + " 回目");
}
}
}
繰り返し処理 1 回目
繰り返し処理 2 回目
繰り返し処理 3 回目
繰り返し処理 4 回目
繰り返し処理 5 回目
このように、Javaの制御構造は、処理の条件分岐や繰り返しを可能にし、プログラムの動きを思いどおりにコントロールするために欠かせない重要な要素です。