If文
「真として(あるいは、偽として)扱うべき値」について詳説する。条件式の値が真理値をとるブーリアン型でなければならない言語もあるが、そのように限定していない言語もある。C言語にはそもそもブーリアン型が無くintで代用しているが、条件式としては汎整数型のゼロ(0)の他、ヌルポインタや 0.0 なども偽として扱われる。Rubyではnilとfalse以外は真として扱われる。JavaScriptにはtruthyとfalsyという用語があり、falseの他いくつかの値がfalsyで、その他の多くの値はtruthyである。比較的少数の偽になる値の他は、真、という言語が多いが、それと逆に、Dart言語(のproduction mode)のようにtrue以外は偽という言語もある(checked modeではbool以外の型だとエラー)。
真の時だけ実行するとき
偽の時だけ実行するとき
真と偽で実行文を変えるとき
または
Adaでは条件式の型はBoolean(もしくはBooleanの派生型)でなければならない。これはJava等も同様である。
真の時だけ実行するとき
真と偽で実行文を変えるとき
仮に && を論理積を表す演算子として、
という論理式で、左辺が真にならなければ右辺を評価しない言語(短絡評価)では、これを
と等価とみなすことができる。つまり左辺が条件文で、右辺が真文となるわけである。 同様に || を論理和を表す演算子だとすると、
は
と等価となり、左辺が偽のときだけ右辺が実行される。
たとえばMS-DOSやWindowsのバッチファイルでは
(もしCHDIRコマンドが失敗したら、ECHOコマンドが実行される)
JavaScriptなど言語によっては、このように論理積演算や論理和演算を擬似的なIf文にできることがある。