【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があれば、そのときに処理を実行して終了します。そのあとの条件判定は行いません。
コメント
まだコメントはありません。