if文の処理順序

if(A && B){
 do something;
}

のようなif文だとAが偽の場合、Bの条件については検討しない。


これはどの言語でもそうだと思うけど、javaなどの変数の領域をきっちりと確保する場合に役立つ。

if(i>0 && hoge[i-1] > 0){
 do something;
}

このとき i>0 && の部分がないと、iが0以下の場合にエラーが出る。
ArrayIndexOutOfBoundsException
↑これ。


しかし、iが0以下の場合でも上記のようにしておけばエラーは出ない。
Perlも同様。



ArrayIndexOutOfBoundsException
これ見飽きたよ。どうにかならんかな。