【はじめてのjava】フロー制御【基本構文編】
今回はフロー制御について解説していきます。
目次
フロー制御
ここまでの記事では、作成したサンプルコードを実行した場合、私たちが記述したすべての処理が順番に実行されていっていました。このように、順番に処理が行われることを順次処理と言います。
Javaでは順次処理以外に条件文、繰り返し文等といった制御文を使うことで処理の流れをコントロールすることが出来ます。この制御文を使用して処理の流れをコントロールすることをフロー制御といいます。
条件分岐
条件分岐 とは、条件文の結果によってその後の処理の内容を分岐させる構文です。javaの条件文には主にif文とswitch文の2種類が存在します。まずはif文について何回かに分けて紹介していきます。switch文についてはまた別の記事で解説します。
if文と比較用の演算子
if文
if文とは制御構文の一つで、条件式を持ち、その条件式の値に応じてその後の処理が分岐する構文です。
条件式には、boolean値(trueまたはfalse)を結果として返す式を使用します。条件式は後述する関係演算子や論理演算子を利用した記述も可能です。
以下にif文の基本的な記述方法を記載しておきます。
if( /*条件式*/ ) { //条件を満たしたときに行いたい処理 }
if文を使うことによって、「ある条件を満たしたときにだけ処理を行う」といった動作をプログラムに組み込むことが出来るようになります。
関係演算子
関係演算子とは、2つの値を比較する際に使用する演算子です。数学で言えば「x > 2」などに近いイメージです。関係演算子の演算結果は、boolean値のtrueもしくはfalseを返します。
以下の表は、関係演算子の種類をまとめたものです。
演算子 | 記述例 | 説明 |
== | x == y | xとyの値が等しいときにtrue、それ以外の時はfalse |
!= | x != y | xとyの値が等しくないときにtrue、それ以外の時はfalse |
> | x > y | xの値がyの値より大きいときにtrue、それ以外の時はfalse(xとyの値が等しいときはfalse) |
>= | x >= y | xの値がyの値以上の時にtrue、それ以外の時はfalse (xとyの値が等しいときはtrueを返す) |
< | x > y | xの値がyの値より小さいときにtrue、それ以外の時はfalse (xとyの値が等しいときはfalse) |
<= | x <= y | xの値がyの値より小さいときにtrue、それ以外の時はfalse (xとyの値が等しいときはtrue) |
関係演算子は上記の6種類が存在します。
以下に、実際にそれぞれの関係演算子に値を与えた時の結果を例示します。
式 | x が 1の時 | x が 2の時 |
x == 1 | true | false |
x != 1 | false | true |
x>1 | false | true |
x>=1 | true | true |
x<1 | false | false |
x<=1 | true | false |
代入演算子「=」と関係演算子「==」は同じ記号を使用しますが、その結果は大きく異なるので間違えて記述してしまわないように注意しましょう。
ここまでの内容で、if文を使用したシンプルなプログラムを作成することが出来ます。
以下に、if文を使用したサンプルコードを示します。
package jp.ssie.ocjp; public class sample { public static void main(String[] args) { int x = 5; int y = 15; if( x < 10) {//変数xが10より小さいとき、{}内の処理が実行される。 System.out.println("変数xの値は10より小さいです。"); } if( y < 10) { //変数yの値は15で、条件式を満たしていないので{}内の処理は実行されない。 System.out.println("変数yの値は10より小さいです。"); } } }
実行結果
今回は、変数の値が10より小さいときにのみ文章が出力されるプログラムを記述しました。
このように、if文を使用することでプログラムの処理を分岐させることが出来るようになります。
しかし、現状「x < 10」という単純な条件による分岐しかできません。例えば「0 < x < 10」というような条件式を記述することが出来ません。
このような複雑な条件式による処理の分岐については次回記事にて紹介します。
ポイント
if文を使用することで、条件を満たしたときにのみ処理を実行するといった動作が出来るようになる。
はじめてのJavaシリーズの目次はこちら
基本構文編の記事一覧はこちら