スポンサードリンク

【Java】if構文を使った条件分岐

条件分岐とは「この条件だったらこの処理を。違ったらこの処理を。」というように、条件に合わせてプログラムを走らせることです。

Javaだけでなく、プログラミングでは条件分岐は基本中の基本ですので、必ずマスターしてください。

1.if構文とは?

ifという英語に「もし~ならば」という意味があるように、if構文もそれと同じ働きがあります。

すなわち、「もし○○○(条件)が合っている(true)ならば、この処理を行う。違えば(falseならば)この処理を行う。」という働きができます。

さて、if構文の基本形は以下です。

if(条件式){
条件が合致した時の処理(trueのとき);
}else{
合致しなかった時の処理(falseのとき);
}

【参考】
if構文の詳細な使い方は条件分岐 if構文を参照してください。

2.条件分岐

if構文を使った条件分岐を言葉であれこれ説明するよりも実際にトライした方が理解が早いと思います。

1.等しいかどうかで条件分岐

では、「Lesson018.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson018{
	public static void main(String args[]){
		//変数「i」を作成
		int i = 100;
		//条件分岐
		if(i == 3){
			System.out.println("変数「i」は3です。");
		}else{
			System.out.println("変数「i」は3ではないです。");
		}
	}
}

上を簡単に説明すると、int型の変数「i」に100を代入しています。そして

if(i == 3)

で「変数iは3と等しいかどうか?」を判定しています。変数iは100なので、この判定結果はfalseつまり下のほうの処理が実行されます。

では確認のために以下のように「javac Lesson018.java」でコンパイルし、「java Lesson018」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson018.java

C:\Users\ysk\Desktop\java>java Lesson018
変数「i」は3ではないです。

すると、確かにfalseの結果が出力されることがわかります。

2.大小で条件分岐

上では「変数は○○○に等しいか?」で条件分岐しましたが、ここでは「変数は○○○より大きいか?」で条件分岐させたいと思います。

「Lesson019.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson019{
	public static void main(String args[]){
		//int型の変数に3を代入
		int a = 3;
		//条件分岐
		if(a >= 3){
			System.out.println("aは3以上です。");
		}else{
			System.out.println("aは3未満です。");
		}
	}
}

if(a >= 3)

で「変数aは3以上かどうか?」を条件判定しています。

そして以下のように「javac Lesson019.java」でコンパイルし、「java Lesson019」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson019.java

C:\Users\ysk\Desktop\java>java Lesson019
aは3以上です。

このように「等しい」だけではなく、「大小」でも条件分岐ができます。

3.if~else if~else構文

ifでは、「○○○であれば~を、違えば~を。」だけでなく「○○○であれば~を、△△△であれば~を、□□□であれば~を、そのいずれでもなければ~を。」というように、条件を多岐に指定できます。

では実際に確認してみましょう。

「Lesson020.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson020{
	public static void main(String args[]){
		//int型の変数「z」に85を代入
		int z = 85;
		System.out.println("点数は、" + z + "です。");
		//評価の条件分岐
		if(z >= 80){
			System.out.println("評価は「A」です。");
		} else if (z >= 65) {
			System.out.println("評価は「B」です。");
		} else {
			System.out.println("評価は「C」です。");
		}
	}
}

そして以下のように「javac Lesson020.java」でコンパイルし、「java Lesson020」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson020.java

C:\Users\ysk\Desktop\java>java Lesson020
点数は、85です。
評価は「A」です。

このようにifは、「else if (条件式)」の部分を増やすことで、いくらえも条件分岐の指定が可能になります。

4.if構文の中にif構文を入れる

if構文では、ifの中にifを入れることができ、奥行のある条件分岐が可能です。

どういうことかを確認してみましょう。

「Lesson021.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson021{
	public static void main(String args[]){
		//変数宣言
		int z = 20;
		System.out.println("点数は、" + z + "です。");
		//条件分岐
		if(z >= 50){
			if(z >= 75){
				System.out.println("評価は「A」です。");
			}else{
				System.out.println("評価は「B」です。");
			}
		} else {
			if(z >= 25){
				System.out.println("評価は「C」です。");
			}else{
				System.out.println("評価は「D」です。");
			}
		}
	}
}

そして以下のように「javac Lesson021.java」でコンパイルし、「java Lesson021」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson021.java

C:\Users\ysk\Desktop\java>java Lesson021
点数は、20です。
評価は「D」です。

このように、ifの中にifを入れることで、条件分岐の奥行が深まり、複雑な条件分岐が可能になります。

5.「&&」と「||」

プログラミングでは「○○○と△△△の両方の条件を満たすならば」や「○○○か△△△の両方もしくはどちらか一方を満たすならば」というように、条件式にバリエーションをもたせることが多くあります。

この場合「&&」や「||」を用います。

  • 条件1 && 条件2
     条件1と条件2が両方とも「true」だったら「true」、それ以外は「false」
  • 条件1 || 条件2
     条件1と条件2のいずれか、もしくは両方とも「true」だったら「true」、それ以外は「false」

では確認しましょう。「Lesson022.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson022{
	public static void main(String args[]){
		//変数宣言
		int a = 80;
		//条件判定
		if(a >= 0 && a <= 100){
			System.out.println("aは0~100の範囲内です。");
		}
		//変数宣言
		int b = 68;
		//条件判定
		if(b <= 18 || b >= 65){
			System.out.println("bは子供かお年寄りです。");
		}
	}
}

そして以下のように「javac Lesson022.java」でコンパイルし、「java Lesson022」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson022.java

C:\Users\ysk\Desktop\java>java Lesson022
aは0~100の範囲内です。
bは子供かお年寄りです。

コメント

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

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