●式の値を調べてその結果、実行する文を変更する。プログラムが実行するときに通る道が分かれるというところから「条件分岐」という場合もあります。
●もっとも簡単な例をあげます。
if ( x > 0 ) {
z = x;
}
else {
z = y;
}
これは、x が0よりも少しでも大きいとき、z に x を代入。そうでないとき( x が0か、0より小さいとき)は z に y を代入するというものです。
●実行する文が複数ある場合は、次のように書きます。
if ( x > 0 ) { z = x; System.out.println ("x は正の数です。"); } else { z = y; System.out.println ("x は正の数ではありません。"); }
●図で示すと次のようなイメージです。
if ( x > 0 ){ x > 0 のときの処理; } else { x > 0 でないときの処理; }
●if を使った条件分岐は次のような形になっています。
if (条件) { 条件が成立するときに実行すること } else { 条件が成立しないときに実行すること }
●else 部分は必要なければなくてもかまいません
if (条件) { 条件が成立するときに実行すること }
●{ } の前後で改行をしなければ次のような形になっています。
if (条件) {条件が成立するときに実行すること} else {条件が成立しないときに実行すること}
●{ } の部分をブロックといいます。中は、いくつかの文が入ります。このブロックの前に何か条件を書いて、ブロックの内部の指令をやったり、やらなかったりするというパターンがこれからいくつか出てきます。このようなパターンを制御構造といいます。
●ブロック内に文が1つだけしかないなら、{ }は省略できます。
if ( x > 0 ) z = x; else z = y;
この場合も読みにくくならないよう十分考慮して、{ }があるのが普通と考えておいた方が間違いが少なくなります。
●乱数を求め、それが 0.5 より大きい(今回は0.5は入らないものとする)ときには、「運勢上向き」、小さいときには「運勢下向き」と出るプログラムを作りなさい。
/** Math.random() と if を使って運勢を占う */ public class Joken { public static void main( String[] args ) { double un; un = Math.random(); //un に double (0〜1)の値が入る。 if ( un > 0.5 ){ System.out.println( "運勢上向き" ); } else{ System.out.println( "運勢下向き" ); } } }
●乱数は Math.random() です。()は( )の間にスペースがないものです。無駄に見えますが、必要です。0以上、1未満の数が出てきます。
●コメントは入れなくても動きます。