Read Article

論理演算子を知ろう

広告

この章では論理演算子について説明します。
if文にの章で関係演算子を説明しましたが、if文でもっと複雑な条件定義をしたい場合には論理演算子を使用します。
1では例をみてみましょう。
1条件式の1の中でandを挟んだ両辺が TRUEの場合のみ条件式がTRUEになります。
つまり、1もしくは1 の片方がFALSEの場合には条件式はTRUEになりません。
これが論理演算子のandの機能です。
結果は「$b==9」がFALSEなので、1が出力されます。
次の例をみてみましょう。
1andは$aと$bの両辺がTRUEの場合に条件式がTRUEになりましたが、orは$aと$bのどちらかがTRUEの場合に条件式がTRUEになりますので、この例の場合は1がFALSEですが、条件式はTRUEになります。
結果は1になります。
次の例をみてみましょう。
1「!$a」と「$a==FALSE」は同じことを意味しています。
条件式である1の意味は$aがFALSEであるならば条件式はTRUEになると言う意味です。
1ここで上のTRUEとFALSEの条件を見てみるとFALSEとは整数の0と書いてありますので、この例の場合は条件式はTRUEになります。
「!」を付けることで条件式がTRUEではない場合にTRUEになります。
条件式で真偽を調べるときに明示的に1のようにFALSEやTRUEを使うことが出来ることを覚えておいてください。
もう一つ「!」の例を示します。
1これは先ほどの例に「!」を付け加えたのですが、このように「!」を使うことで、実行結果が逆になります。
結果は「TRUEではありません」です。

次は論理演算子の順位について説明します。
1では例をみてみましょう。
1論理演算子が2つありますが、最初に実行されるのはandなので、あえて括弧で囲みますと以下のようになります。
orは両辺のどちらかがTRUEであれば条件式がTRUEになりますので、結果は1になります。
1また以下のようにorを中心に評価されるのではないことに注意してください。
つまり、1から先に結びつくのではないということです
1では次の例をみてみましょう。
111
「$b==2」 と 「$c==4」の結びつきが優先されますので、以下のような括弧の囲みにはなりません。
1

URL :
TRACKBACK URL :
Return Top