1-3-1:ifブロックとその階層構造


・ 条件分岐の記述のためにはは、次の2つのことをルールとして定める必要があります。 まず、選択すべき複数の処理を分けて用意しておくことができること。 そしてそのれらの中からどの処理を選択するか判定することができることです。 Javaの最も基本的な条件分岐である if文では、キーワード if の後に判定条件を ( と ) の間に書きます。この条件判定は値が boolean である式となります。


if( 判定条件その1 ) {
    処理1
}
else if( 判定条件その2 ) {
    処理2
}
else {
    処理3
}

if - else のパターンによる条件分岐の記述では、それぞれの処理のかたまりが { } で範囲を指定するブロックの形式になります。 この処理の内部でさらに if文を使用することで、複数の独立した条件が 複雑に関係する判定を行うことができます。 このような「階層構造」は何重にも記述することが可能です。 また、ifのブロックだけではなく、他の条件分岐や繰り返しのブロックと組み合わせる こともできます。


if( 判定条件その1 ) {
    if( 判定条件その2 ) {
    }
    else {
    }
else {
}

・ ブロックの階層が何重にもなると、{ } の構造も複雑な記述になってきます。 そのような繁雑さを少しだけ解消するため、Javaには次のようなルールがあります。
「if もしくは else の後のブロックの処理が単独の命令である場合には、 ブロックの範囲を表す { } を省略してもかまわない」
たとえば下記のような記述は、どちらも同じ意味となります。


if( x > 0 ) {
   y = x;
}
else {
   y = -x;
}


if( x > 0 )
   y = x;
else
   y = -x;