【Java】条件分岐と繰り返し処理について

条件分岐:if文

Java言語にもif文という構文があります。「もしも〜ならば」という文章をプログラムで表現することができます。

public class Sample1 {
	public static void main(String[] args) {
	//条件分岐
	System.out.println("--------");
	//変数の型を宣言する
	boolean f1 = true;
	if (f1){ //条件が入る
		System.out.println("ifのテスト");
	}
	
	int f2 = 30;
	int f3 = 20;
	if(f2 < f3){
		System.out.println("f2の方が小さい");
	}else{
		System.out.println("f3の方が小さい");
	}
	
	}
}
結果表示
--------
ifのテスト
f3の方が小さい


<例題1>bmi値が40の場合、肥満度はどの範囲になるか?
18.5未満 「痩せ」、25.0未満 「普通」、30.0未満 「肥満」、それ以上「高肥満度」

public class Sample2 {
	public static void main(String[] args) {
	//bmi値が40の場合、肥満度はどの範囲になるか?
	double bmi = 40.0;
		
	/*
	 * bmi = 18.5未満 「痩せ」
	 * bmi = 25.0未満 「普通」
	 * bmi = 30.0未満 「肥満」
	 * bmi = それ以上「高肥満度」
	 */
	
	//上から順番に処理される
	if(bmi < 18.5){
			System.out.println("痩せ");
		}else if(bmi < 25.0){
			System.out.println("普通");
		}else if(bmi < 30.0){
			System.out.println("肥満");
		}else{
			System.out.println("高肥満度");
		}
	
	}
}
結果表示
--------
高肥満度


<例題2>if else文と数学関数Math.random( )を使って、おみくじが引けるJavaを記述します。

public class Sample3 {
	public static void main(String[] args) {
		//おみくじ
		System.out.println("--------");
		double g1 = Math.random();
		
		/*
		 * g = 0.4のように任意の数字代入して確認。
		 */
		
		if(g1 < 0.1){
			System.out.println("大吉");
		}else if(g1 < 0.5){
			System.out.println("吉");
		}else if(g1 < 0.8){
			System.out.println("小吉");
		}else if(g1 <0.99){
			System.out.println("凶");
		}else{
			System.out.println("大凶");
		}
	
	}
}
結果表示
--------
小吉

条件分岐:switch文

switch文は、複数のcaseという選択肢から式の値に合うものを選択して処理を実行します。式の値がどれにも当てはまらない場合はdefaultに進みます。各選択肢の最後にはbreak文を記述し、選択した処理のみを行うようにします。

public class Sample4 {
	public static void main(String[] args) {
	//switch文
	System.out.println("--------");
	int h1 = 2;
	switch(h1){
		case 1:
			System.out.println("1月");
			break; //break文:処理を終了
		case 2:
			System.out.println("2月");
			break;
		case 3:
			System.out.println("3月");
			break;
		default: //:コロンで閉める
			System.out.println("それ以外");
		}
	
	}
}
結果表示
--------
2月


<例題3>if else文で宣言された変数に対して1月から5月までを表示させます。

public class Sample5 {
	public static void main(String[] args) {
		int h2 = 5;
		if(h2 == 1){ // ==に注意する!!
			System.out.println("1月");
		}else if(h2 == 2){
			System.out.println("2月");
		}else if(h2 == 3){
			System.out.println("3月");
		}else if(h2 == 4){
			System.out.println("4月");
		}else if(h2 == 5){
			System.out.println("5月");
		}else{
			System.out.println("それ以外");
		}
	
	}
}
結果表示
--------
5月

繰り返し処理:for文

for文は、繰り返し処理を効率よく行う制御文です。

public class Sample6 {
	public static void main(String[] args) {
		//for文
		for(int i = 0;i < 10;i++){
			System.out.println(i);
		}
		
		System.out.println("--------");

		//1~20までの数字を表示
		for(int i = 1;i <= 20;i++){
			System.out.println(i);
		}
		
		System.out.println("--------");

		//1~30までの数字を表示(奇数のみ)
		for(int i = 1;i <= 30;i++){
			if(i%2 != 0){ //!:否定を使う
				System.out.println(i);
			}
		}
	
	}
}