です!(〜A &&〜B)より良い(A || B)よりもプログラミングに?

アルンSR:

私は中に開発していますJavaし、私が使用していますIntelliJ私のIDEとして。私が書いたif次のように声明を。

if( list1.size() >= 1 || list2.contains(itemX) ) {
    //do something
}

IntelliJ(形質転換を示唆しDeMorgan's Law)、それはそれを形質転換:

if( ! ( list1.size() < 1 && !( list2.contains(itemX) ) ) ) {
    //do something
}

だから、ブール式を簡素化する上で非常に一般的な離散数学理論を適用します。この最適化は何もありませんどのように私は疑問に思っているのですか?

|| オペレータは、最初の部分は、それ自体がtrueの場合、とにかく全体の条件を実行していない、と最初の部分のみがfalseの場合のみ、RHSを実行します。

変換条件が効果的ですか?どうやって?

Tejaswini Nanaware:

どちらも、まったく同じ文です。

私は、最初の部分がTRUEの場合、オペレータが第二の部分を評価していないか、または、しかし、最初の部分がFALSEの場合、オペレータは第二部を評価していないことも事実であることに同意します。

A || Bとは対照的に、実際には、それは〜(〜A &&〜B)を評価するために多くの時間と空間がかかります。

お役に立てれば :)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=231527&siteId=1