zoukankan      html  css  js  c++  java
  • 0 or 1,1 and 0

    最近小编遇到很头疼的的一件事

    就是以下这几道运算题 ,以下结果是小编经过大量的运算得出的

    一.或运算

    1.0 or 1

      结果为:1

    2.1 or 0

      结果为:1

    3.1 or 2

      结果为:1

    4.2 or 1

      结果为:2

    5.0 or []

      结果为:[]

    6.[] or 0

      结果为:0

    二.与运算

    1.0 and 1

      结果为:0

    2.1 and 0

      结果为:0

    3.1 and 2

      结果为:2

    4.2 and 1

      结果为:1

    5.' ' and 0

      结果为:' '

    6.0 and ' ' 

      结果为:0

    三.混合运算

    1.1 < ( 2 == 2)

      结果为:False   这道题就不用多说了,2==2为True,True换成数字为1,1<1明显为Flase

    2.1 < 2 == 2

      结果为:True 

       按照正常思路,比较运算优先级比等于优先级高,所以这道题先算1 < 2 为True,True为1,1不等于2,所以为Flase

      但是,答案明明就是True,实际上这道题是这样算的:

      1 < 2 and 2 == 2  这样一转变,是不是立马就明白了 

      因为逻辑运算优先级低,所以最后运算为:True and True

    总结:

      1.or:或运算的两边,有真则真;若都为真,则选前者;若都为假,则选后者;

      2.and:与运算的两边,有假则假;若都为真,则选后者;若都为假,则选前者;

      3.混合运算时,应当考虑运算符优先级的问题,当有括号时,先算括号内的运算

  • 相关阅读:
    Weekly blog for week 1908
    Weekly blog for week 1907
    Weekly blog for week 1905&1906
    Weekly blog for week 1904
    Write Week 3 Blog beforehand
    Add Week 2 Blog
    First week of a new year
    Andriod-Log
    bat
    学习方法
  • 原文地址:https://www.cnblogs.com/mswei/p/9286833.html
Copyright © 2011-2022 走看看