if ( 条件1 ){
文1
}else if ( 条件2 ){
文2
}else if ( 条件3 ){
文3
}else if ( 条件4 ){
.
.
.
}else{
文n
}
これは、条件1が真の場合は、文1が実行され、条件1が偽で条件2が真の場合、
文2が実行され、更にそれらが偽である場合は条件3が判断され、という具合に
最初の条件から順番に判断がされていき、それら全部が偽である場合には、
文 n が実行される。注意すべきは、条件1で真ならば、文1のみが実行され、
以下の条件 x は、すべて無視されると言う点である。これは、どの部分でも
同じで、条件3が真ならば文3が実行され、その後の条件は全て無視して、
if 文の実行から抜ける。(最後の行の } の後の文の実行に移る。)
また、最後の else{...} はなくても良く、その場合、条件 1 〜 n
に当てはまらなければ、何も実行されず } 以降の文の実行に移る。
例 5
if ( x > 0 ){
z = 1;
}else if ( x == 0 ){
z = 0;
}else{
z = -1;
}
この例の場合、x が正の場合、z に1を代入し、x が
0に等しい場合、z に0を代入し、以上のどれでもない場合 ( 即ち、
負の場合 ) 、z にー1を代入することになる。
例 6
1: if ( x > 7 ){
2: y = 7;
3: }else if ( x > 6 ){
4: y = 6;
5: }else if ( x > 5 ){
6: y = 5;
7: }else if ( x > 8 ){
8: y = 8;
9: }
この例では、1行目で x が7より大きい場合は全て y に7を
代入し、もし、x が7以下である場合で、x が6より大きいならば
y に6を代入しているが、注意すべきは、例えば x = 8 の場合、
最初の1行目で既に真になっているので、以降の if 文の判断はされないという
ことである。従って、3行目は実際には、
という条件になって
しまう点に注意しよう。更に、そのために、7行目で行なっている判断は常に
偽になってしまうので、8行目の文はどんな場合でも絶対に実行されることはない。
また、この例では、else 文がないので、x が5以下の場合は、y
には何も代入されない。