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

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

Java | 07 | 複雑な条件分岐

<<前  [TOP]  次>>


メモ帳を開いて次のプログラムを作ってみましょう。


【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点増えます。
それ以外なら、ゲームオーバーの表示と獲得したスコアの合計が表示されます。


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


IfTest3.java実行結果
IfTest3.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になるまで実行してみてください。


IfTest4.java実行結果
IfTest4.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 に条件が代入され出力されます。


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


IfTest5.java実行結果
IfTest5.java実行結果


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


<<前  [TOP]  次>>