学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Java | 09 | 複雑な条件分岐

↓↓クリックして頂けると励みになります。




08 | for】 << 【ホーム】 >> 【10 | switch




複雑な条件分岐
複雑な条件分岐



Javaプログラムではif文で複数の条件を組み合わせて、さまざまな処理を行わせることができます。



Visual Studio Codeで以下の「IfTest3.java」を作成します。


新規作成 【IfTest3.java】

public class IfTest3 { 
	public static void main ( String[] args ) {  

		int score = 0; 
		System.out.println ( "最初の挑戦です。" ) ; 
	
		if ( Math.random() > 0.5 ) { 
			System.out.println ( "成功です。50ポイントを獲得しました。" ); 
			score = score + 50; 
			System.out.println ( "2回目の挑戦です。" );

			if (Math.random() > 0.5 ) { 
				System.out.println ( "成功です。50ポイントを獲得しました。"); 
				score = score + 50; 
			} 
			else { 
			System.out.println ("残念。ゲームオーバーです。" ); 
			} 
		} 
		else { 
			System.out.println ("残念。ゲームオーバーです。" ); 
		} 
		System.out.println ("あなたのスコアは" + score + "点です。" ); 
	} 
}



ランダムに出てくる値が0.5より大きかったらスコアが50点ずつ増えていきます。
次も0.5より大きかったらまた50点増えます。
それ以外なら、ゲームオーバーの表示と獲得したスコアの合計が表示されます。


実行するごとに結果が違うので何回かやってみてください。

~/Desktop/Programming/JP $ javac IfTest3.java
 
~/Desktop/Programming/JP $ java IfTest3      
最初の挑戦です。
成功です。50ポイントを獲得しました。
2回目の挑戦です。
残念。ゲームオーバーです。
あなたのスコアは50点です。

~/Desktop/Programming/JP $ java IfTest3
最初の挑戦です。
残念。ゲームオーバーです。
あなたのスコアは0点です。

~/Desktop/Programming/JP $ java IfTest3
最初の挑戦です。
成功です。50ポイントを獲得しました。
2回目の挑戦です。
成功です。50ポイントを獲得しました。
あなたのスコアは100点です。



Visual Studio Codeで以下の「IfTest4.java」を作成します。


新規作成 【IfTest4.java】

public class IfTest4 { 
	public static void main (String[] args ) { 

		boolean b1, b2, b3;  

		b1 = Math.random() > 0.5; 
		b2 = Math.random() > 0.5; 

		if ( b1 ) {
			if ( b2 ) { 
				b3 = true;
			} 
			else { 
				b3 = false;
			}
		} 
		else {
			if ( b2 ) { 	
				b3 = false;
			} 
			else { 
				b3 = false;
			} 
		}
		System.out.println ( b1 + "&&" + b2 + " = " + b3 ) ; 
	} 
} 



b1とb2の両方が0.5より大きかった場合のみtrue(真)となり、それ以外はfalse(偽)となります。


&&は論理積で、”かつ”の意味があります。
両方ともtrue(真)の場合のみtrue(真)になります。


ちなみに||は論理和で”または”の意味があります。
どちらかがtrue(真)であれば、結果がtrue(真)になります。
逆に言うと、どちらもfalse(偽)の場合、結果がfalse(偽)になります。


b1 + "&&" + b2 + " = " + b3」 にそれぞれ値が入力されて出力されます。


結果がtrueになるまで実行してみてください。

~/Desktop/Programming/JP $ javac IfTest4.java 

~/Desktop/Programming/JP $ java IfTest4      
false&&false = false

~/Desktop/Programming/JP $ java IfTest4
true&&false = false

~/Desktop/Programming/JP $ java IfTest4
true&&true = true



Visual Studio Codeで以下の「IfTest5.java」を作成します。


新規作成 【IfTest5.java】

public class IfTest5 { 
	public static void main ( String[] args ) { 

		boolean b1, b2, b3; 

		b1 = Math.random() > 0.5; 
		b2 = Math.random() > 0.5; 

		if ( b1 ) {
			if ( b2 ) {
				b3 = true;
			} 
			else { 
				b3 = true;
			} 
		}
		else {
			if ( b2 ) { 
				b3 = true;
			} 
			else { 
				b3 = false;
			} 
		}
		System.out.println ( b1 + " || " + b2 + " = " + b3 ); 
	} 
} 



b1かb2のどちらかが0.5を越えていればtrueとなり、どちらとも越えていないときだ けfalseとなります。


||」は論理和のことです。
どちらかがtrue(真)ならばtrue(真)になります。


b1 + " || " + b2 + " = " + b3に条件が代入され出力されます。


何回か実行して、結果を確認してみてください。

~/Desktop/Programming/JP $ javac IfTest5.java

~/Desktop/Programming/JP $ java IfTest5      
false || true = true

~/Desktop/Programming/JP $ java IfTest5
false || true = true

~/Desktop/Programming/JP $ java IfTest5
false || false = false




08 | for】 << 【ホーム】 >> 【10 | switch





↓↓クリックして頂けると励みになります。