この章では論理演算子を使った複雑な条件文について説明します。
論理演算子を使うことで関係演算子だけではできなかった複雑な条件式を記述することが可能になります。
論理演算子を挟んだ左辺と右辺には関係演算子を使った条件式を記述します。 では例をみてみましょう。 andはandの右辺も左辺も条件を満たしている場合のみ全体の条件式がtrueになるので、この例の場合は両辺とも条件を満たしているのでtrueになります。
結果は次の通りです。
次の例をみてみましょう。 orは右辺もしくは左辺のどちらかの条件式がtrueの場合に全体の条件式がtrueになります。
この例では左辺は条件を満たしているけど、右辺は条件を満たしていませんが全体はtrueになります。
結果は次の通りです。
次の例をみてみましょう。 aは0でtrueではないので(false),条件は成立します。
結果は次の通りです。
上の例は次のように書き替えると解りやすくなります。 この例の意味はaがtureではないならば、if文を実行します。
aは0でtrueでは無いので、if文は実行されます。
もう一度trueとfalseの意味を見直してみましょう。 先ほどの例をみていただくと分かりますが、trueもしくはfalseであるかを確認する時に条件式にを入れることができます。
falseの場合には以下のように書きます。 結果は以下の通りです。
タグ: 論理演算子
論理演算子を使ってみよう
論理演算子を使うことで複雑な条件式を記述することが可能になります。
論理演算子を挟んだ左辺と右辺には関係演算子を使った条件式などを記述します。 「&&」と同じ働きをする演算子に「and」がありますが、この演算子は「&&」よりも 優先順位の低い演算子です。
優先順位の説明は後ほどします。
「||」と同じ働きをする演算子にorがありますが、この演算子は「||」よりも 優先順位の低い演算子です。
では例をみてみましょう。 結果は以下の通りです。 &&の右辺も左辺も条件を満たしている場合のみtrueになるので、この例の場合は両辺とも条件を満たしているのでtrueになります。
では次の例をみてみましょう。 結果は以下の通りです。 「||演算子」の場合は右辺か左辺のどちらかの条件式がtrueの場合にtrueとなります。
この例では左辺は条件を満たしているけど、右辺は条件を満たしていませんが全体はtrueになります。
では次の例をみてみましょう。 「!」は否定を表します。
条件式がtrueではない時にif文が実行されるので、この例ではif文が実行されます。
結果は次の通りです。 では論理演算子の優先順位とは何かを説明します。
論理演算子には順位がありまして、の方がandやorよりも優先度が高いのです。
優先順位が高いとはその演算子から先に実行されると言うことです。
では次の例をみてみましょう。 「and」より「||」の方が優先順位が高いので結びつきは以下のカッコのようになります。
優先順位が高い方が先に判断されます。 以下のようにand同士が結ぶ付くわけではありません。
これが優先順位の意味です。 結果は以下の通りです。
論理演算子について知ろう
この章では論理演算子について説明します。
論理演算子は条件式をもっと詳しく表現したい時に使用します。
例えば「3より大きく そして 10より小さい」のような複雑な条件式にしたい時に使用します。 「&&」は「&&」の左右の値が2つともTRUEの場合のみ条件式がTRUEとなります。
「||」は「||」の左右の値のどちらか一方がTRUEの場合に条件式がTRUEとなります。
では例をみてみましょう。 次は「||」の使用例を見てみましょう。 次は「!」の使用例を見てみましょう。
次は論理演算子の優先度について説明します。
先ほどの例では論理演算子は1つでしたが、論理演算子が複数使われている場合はどこが先に実行されるかが重要になります。
実行される順番は
「!」が1番
「&&」が2番
「||」が3番
と決まっています。
では例をみてみましょう(スペースの都合でifの条件式は2行で書いていますが1行で書いてもいいです)。
論理演算子について知ろう
この章では論理演算子について説明します。
「if文について理解しよう。if文の基本構文1」の箇所で比較演算子について説明しましたが、if文でもっと複雑な条件定義をしたい場合に論理演算子を使用します。
では論理演算子の例を見てみましょう。 論理演算子は条件式をもっと詳しく表現したい時に使用します。
例えば「3より大きく そして 10より小さい」というような複雑な条件式にしたい時に使用します。
例ではの中で「&&」を使用していますが、次のような意味があります
「aは0よりも大きいそしてaは100よりも小さい 」という意味です。
この2つの条件をつないでいる「そして」の部分が論理演算子です。 「&&」は「&&」の左右の値が2つともTRUEの場合のみ条件式がTRUEとなります。
「||」は「||」の左右の値のどちらか一方がTRUEの場合に条件式がTRUEとなります。
では「||」の使用例をみてみましょう。 この例は年齢が20歳以上もしくは身長が170センチ以上であるならばTRUEです。
つまり「||」を挟んだ両辺のどちらかがTRUEであるならばTRUEですが、この例ではの部分がTRUEですので「trueです」が出力されます。
次は「!」の使用例をみてみましょう。 次の例は「年齢が80歳以上ではない」場合はTRUEになります。
この例の条件式は「20は80より大きい」の否定なのでTRUEです。
比較演算子と一緒に「!」を使用する場合には例のように比較演算子をカッコでくくって、その前に「!」を置きます。
次は論理演算子の優先度の説明です。
上の例では論理演算子は1つでしたが、論理演算子が複数使われている場合はどこが先に実行されるのかが重要になります。
では例をみてみましょう。 また、以下のようにカッコを付けることで優先順位を変えることが出来ます。
論理演算子を使って見よう
この章では論理演算子について説明します。
論理演算子は条件式をもっと詳しく表現したい時に使用します。
例えば3より大きく かつ 10より小さいと言うような複雑な条件式にしたい時に使用します。
では例をみてみましょう。 結果は「それ以外」です。
上の例は論理演算子を使った例です。
if(a > 0 && a <= 100)
=>aは0よりも大きく かつ aは100よりも小さい と条件式を設定しています。 「&&」は「&&」を挟んで左辺と右辺が2つともtrueの場合のみ条件式がtrueとなります。
「||」は「||」を挟んで左辺と右辺のどちらか一方がtrueの場合に条件式がtrueとなります。
この例では「&&」を使っているので とが両方ともtrueの時に全体の条件式がtrueになります。
論理演算子について知ろう
この章では論理演算子について説明します。
前の章でif文について説明しましたが、論理演算子は条件式をもっと細かく表現したい時に使用します。
では例を見てみましょう。 上の例は論理演算子「&&」を使った例です。
「&&」は英語のandと同じ意味ですので、この例の条件式はnumber1とnumber2が同じで、さらにnumber1はnumber3より大きいという意味です。
「&&」は「&&」を挟んだ両辺の条件式が2つともTRUEの場合のみ全体の条件式がTRUEとなります
補足ですが、紙面の都合で条件式を2行で書いていますが1行で書いていただいても結構です。
結果は「TRUEです」です。
その他の論理演算子について説明します。
「||」は「||」を挟んだ左右の値のどちらか一方がTRUEの場合に条件式がTRUEとなります。
論理演算子について知ろう
この章では論理演算子について説明します。
「if文について理解しよう。if文の基本構文1」の箇所で比較演算子について説明しましたが、if文でもっと複雑な条件式を設定したい場合に論理演算子を使用します。
では次は論理演算子の例を見てみましょう。 論理演算子は条件式をもっと詳しく表現したい時に使用します。
例えば「3より大きく かつ 10より小さい」と言うような複雑な条件式にしたい時に使用します。
例ではの中でを使用していますが、次のような意味があります
「aは0よりも大きいかつaは100よりも小さい 」と条件式を設定しています。
この2つの条件をつないでいる「かつ(そして)」の部分が論理演算子です。
この例のはを挟んだ両辺ともTRUEでなければifの条件式はTRUEにはなりません。 「&&」は「&&」の左右の値が2つともTRUEの場合に条件式がTRUEになります。
「||」は「||」の左右の値のどちらか一方がTRUEの場合に条件式がTRUEになります。
「||」の使用例をみてみましょう。 この例は年齢が20歳以上もしくは身長が170センチ以上であるならばTRUEです。
つまり「||」を挟んだ両辺のどちらかがTRUEであるならばTRUEですが、この例ではの部分がTRUEですので、が出力されます。
次は「!」の使用例をみてみましょう。 この例は年齢が80歳以上ではない場合はTRUEになります。
この例の条件式は「20は80より大きい」の否定なのでTRUEです。
比較演算子と一緒に「!」を使用する場合には例のように比較演算子をカッコでくくって、その前に「!」を置きます。
次は論理演算子の優先度について説明します。
上の例では論理演算子は1つでしたが、論理演算子が複数使われている場合はどこが先に実行されるのかが重要になります。 では例をみてみましょう。 また、以下のようにカッコを付けることで優先順位を変えることが出来ます。
この章では論理演算子について説明します。
「if文について理解しよう。if文の基本構文1」の箇所で比較演算子について説明しましたが、if文でもっと複雑な条件定義をしたい場合には論理演算子を使用します。
では例をみてみましょう。 論理演算子andを挟んだ両辺にと が配置されていますが、両辺がTRUEの場合のみ条件式がTRUEになります。
つまり
もしくはの片方がFALSEの場合には条件式はTRUEになりません。
これが論理演算子 andの役割です。
結果は「$b==9」がFALSEなので、が出力されます。
次の例をみてみましょう。 andは$aと$bの両辺がTRUEの場合に条件式がTRUEになりましたが、orの場合は$aと$bのどちらかがTRUEの場合に条件式がTRUEになりますので、この例の場合はがFALSEですが、条件式はTRUEになります。
結果は「TRUEです」になります。
次の例をみてみましょう。
上の例はが TRUE,の部分がFALSEなので、全体の条件式はTRUEになりますので、結果はになります。 上の例はとが共にTRUEなので、全体の条件式はFALSEになりますので、結果はになります。
次の例をみてみましょう。 上の例は先ほどのandの箇所で使用した例題にを付けたのですが、「!」を付けることで条件式がTRUEではない場合にif文が実行されます。
結果はになります。
次の例をみてみましょう。
ただ単に変数にが付いているだけですが、これでも条件式としては成り立ちます。
ではこの例の何がTRUEもしくはFALSEになるのかの判断基準を説明します。
FALSEとは
〇整数の0
〇浮動小数点の0.0
〇文字列の〇何も入ってない文字列、
つまりのように変数に何も入ってないカラ文字
〇要素が何も入ってない配列
〇NULL
NULLとは何も変数に入ってない状態を指します。
〇FALSEという文字
ここまでがFALSEです。
それ以外はすべてTRUEです。
例えば変数に中にのようにFALSEの条件以外の値が入っていればTRUEです。
以下の例は$aにが入っているので以下の条件式はTRUEです。 先ほどの以下の例を書き換えてみましょう。 上の例を書き換えると以下のようになります。 は同じ意味です。
条件式であるは$aが FALSEであるならばif文が実行されます。
このように条件式で真偽を調べるときに明示的にFALSE、TRUEを使うことが出来ることを覚えておいてください。
結果は「0はFALSE」なのでが実行されます。
次は論理演算子の優先順位について説明します。
論理演算子には順位がありまして、の方がよりも優先度が高い、つまり、先に実行されるという事です。
また、が並んだ場合には、最初に評価されるのはです。
例を見てみましょう。 論理演算子が2つありますが、最初に評価されるのはandなので、あえて括弧で囲みますと以下のようになります。
orは両辺のどちらかがTRUEであれば条件式がTRUEになりますので、結果はになります。 以下のようにorを中心に評価されるのではないことに注意してください。 では次の例を見てみましょう。この例ではよりの方が優先順位が高いので、あえて括弧で囲みますと以下のようになります。の結びつきが優先されますので以下のような括弧の囲みにはなりません。
この章では論理演算子について説明します。
if文にの章で関係演算子を説明しましたが、if文でもっと複雑な条件定義をしたい場合には論理演算子を使用します。
では例をみてみましょう。
条件式のの中でandを挟んだ両辺が TRUEの場合のみ条件式がTRUEになります。
つまり、もしくは の片方がFALSEの場合には条件式はTRUEになりません。
これが論理演算子のandの機能です。
結果は「$b==9」がFALSEなので、が出力されます。
次の例をみてみましょう。
andは$aと$bの両辺がTRUEの場合に条件式がTRUEになりましたが、orは$aと$bのどちらかがTRUEの場合に条件式がTRUEになりますので、この例の場合はがFALSEですが、条件式はTRUEになります。
結果はになります。
次の例をみてみましょう。
「!$a」と「$a==FALSE」は同じことを意味しています。
条件式であるの意味は$aがFALSEであるならば条件式はTRUEになると言う意味です。
ここで上のTRUEとFALSEの条件を見てみるとFALSEとは整数の0と書いてありますので、この例の場合は条件式はTRUEになります。
「!」を付けることで条件式がTRUEではない場合にTRUEになります。
条件式で真偽を調べるときに明示的にのようにFALSEやTRUEを使うことが出来ることを覚えておいてください。
もう一つ「!」の例を示します。
これは先ほどの例に「!」を付け加えたのですが、このように「!」を使うことで、実行結果が逆になります。
結果は「TRUEではありません」です。
次は論理演算子の順位について説明します。
では例をみてみましょう。
論理演算子が2つありますが、最初に実行されるのはandなので、あえて括弧で囲みますと以下のようになります。
orは両辺のどちらかがTRUEであれば条件式がTRUEになりますので、結果はになります。
また以下のようにorを中心に評価されるのではないことに注意してください。
つまり、から先に結びつくのではないということです
では次の例をみてみましょう。
「$b==2」 と 「$c==4」の結びつきが優先されますので、以下のような括弧の囲みにはなりません。