if〜else(条件分岐)
●条件分岐
if〜elseは、条件に従ったプログラムが実行されます。
if(条件){
実行プログラム;
}
else if(次の条件){
実行プログラム;
}
else{
実行プログラム;
}
このように、if内における条件に従ったプログラムの箇所がどれか1つ実行されます。elseについては記述しなくてもよいです。
以下にサンプルプログラムを掲載します。
class bunki
{
//メインメソッド
public static void main(String args[]){
int i=0;
//分岐
for(i=0;i<5;i++){
if(i==0){
System.out.println("iの値は0です。");
}
else if(i==1){
System.out.println("iの値は1です。");
}
else if(i==2){
System.out.println("iの値は2です。");
}
else{
System.out.println("iの値はその他です。");
}
}
}
}
実行結果は以下の通りです。
D:\private\java>javac bunki.java
D:\private\java>java bunki
iの値は0です。
iの値は1です。
iの値は2です。
iの値はその他です。
iの値はその他です。
このプログラムの場合はiの値が0、1、2の場合はそれぞれの条件に合ったプログラムが実行され、その他の値の場合はelseの文が実行されることになります。
●色々な条件
条件式には色々な式を用いることが出来ます。
| 演算子 | 条件 |
| > | 左辺が右辺より大きい |
| < | 右辺が左辺より大きい |
| >= | 左辺が右辺以上 |
| <= | 右辺が左辺以上 |
| == | 右辺と左辺が等しい |
| != | 右辺と左辺が等しくない |
| || | 左辺と右辺がどちらかを満たす場合 |
| && | 左辺と右辺を両方満たす場合 |
色々な条件を用いたサンプルプログラムを以下に記述します。
class bunki1
{
//メインメソッド
public static void main(String args[]){
int i=0,j=2;
//分岐1
if(i==0 || j==1){
System.out.println("一番目OK");
}
else{
System.out.println("一番目NG");
}
//分岐2
if(i==0 && j==1){
System.out.println("二番目OK");
}
else{
System.out.println("二番目NG");
}
//分岐3
if( (i+j)==2 && (i==1 || j==2) ){
System.out.println("三番目OK");
}
else{
System.out.println("三番目NG");
}
//分岐4
if( (i+j)==1 && (i==1 && j==2) ){
System.out.println("四番目OK");
}
else{
System.out.println("四番目NG");
}
}
}
実行結果です。
D:\private\java>javac bunki1.java
D:\private\java>java bunki1
一番目OK
二番目NG
三番目OK
四番目NG
先ず、分岐の一番目ですが、iが0またはjが1です。どちらかが満たされればいいので、iが0と真であるため、ifの中が実行されます。
次に、分岐の二番目ですが、iが0がつjが1です。両方が満たされなければならないので、偽となります。
三番目では、iとjを足したら2でかつ、iが1かjが2のどちらかが条件式です。iとjを足したら2で、jが2のため真となります。
四番目では、iとjを足したら1でかつ、iが1でかつjが2の条件式です。両方とも偽のため、条件式は満たされません。
戻る
|