スポンサードリンク

【Java】条件分岐 if構文

プログラミングでは「もし~ならばこの処理。違えばこの処理。」というような条件分岐を必ず行います。

ここでは条件分岐を行う「if」構文について説明します。

1.if構文とは?

if構文とは、「もし条件に合致したらこの処理をする。合致しなかったらこの処理をする。」という働きができる構文です。

2.if構文の形

1.行う処理が1つの場合

条件分岐後、行う処理が1つの場合は以下のif構文を使用できます。

if(条件式) 処理;

これは、条件式がtrueの場合(合致した場合)のみ、処理を行います。

簡単なプログラムを例示すると以下です。

int i = 7;
if(i == 7) System.out.println("オッケー");

i == 7」の部分が条件式で、「変数iは7かどうか?」を確認しています。

上で変数「i」には7が代入されていますので、このプログラムはtrueすなわち「オッケー」と出力されます。

2.行う処理が複数ある場合

条件分岐後、行う処理が複数ある場合は、処理をブロックの中に書きます。

if(条件式){
処理1;
処理2;
・・・
}

条件式がtrueの場合のみ、ブロック中の処理が実行されます。

簡単なプログラムを例示すると以下です。

int i = 9;
if(i == 3){
System.out.println("オッケー");
System.out.println("変数「i」は3です。");
}

i == 3」の部分が条件式で、「変数iは3かどうか?」を確認しています。

この場合、変数「i」は9であり、残念ながら3ではありません。つまりfalseです。

なのでこのプログラムでは「オッケー」「変数「i」は3です。」とは出力されません。

3.if~else~構文

if構文の兄弟?進化系?に、if~else~構文というものがあります。

if(条件式){
処理1;
}else{
処理2;
}

これは、「もし条件に合致(true)すれば処理1を行い、違えば(falseならば)処理2を行う」という構文です。

簡単なプログラムを例示すると以下です。

int i = 9;
if(i == 3){
System.out.println("オッケー");
System.out.println("変数「i」は3です。");
}else{
System.out.println("違うよー");
System.out.println("変数「i」は3じゃないよ。");
}

i == 3」の部分が条件式で、この条件に合致すればtrueで、合致しなければfalseとなります。

変数「i」には9が代入されているので、この条件はfalseとなります。

つまり「違うよー」「変数「i」は3じゃないよ。」と出力されます。

4.if~else if~else構文

if構文は条件をいくつも設定でき、「この条件ならこの処理、この条件ならこの処理、それら以外はこの処理」のようなことができます。

if(条件式1){
処理1;
}else if(条件式2){
処理2;
}else{
処理3;
}

これは、条件式1に合致すれば処理1を、条件式2に合致すれば処理2を、それ以外は処理3を実行する構文です。

簡単なプログラムを例示すると以下です。

int i = 2;
if(i == 1){
System.out.println("変数「i」は1です。");
}else if(i == 2){
System.out.println("変数「i」は2です。");
}else if(i == 3){
System.out.println("変数「i」は3です。");
}else{
System.out.println("変数「i」は1、2、3ではない。");
}

これは、まず「i == 1」で条件判定され、trueであれば処理実行、falseであれば次の条件に移ります。

そして「i == 2」で条件判定され、trueであれば処理実行、falseであれば次の条件に移ります。あとはその繰り返しです。

このプログラムでは「変数「i」は2です。」が出力されます。

if~else構文は上から順に条件判定を行い、trueがあれば、そのときに処理を実行して終了します。そのあとの条件判定は行いません。

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント