黑马程序员技术交流社区

标题: 今天学的逻辑运算符 [打印本页]

作者: a554305211    时间: 2015-8-23 21:24
标题: 今天学的逻辑运算符
逻辑运算符:
        &:逻辑与 (有false则整个表达式的结果为false,只有当各个表达式的结果都为true的时候,整体才为true)
                漂亮并且身材好
        |:逻辑或  (有true则整体表达式的结果为true)
                漂亮或者身材好
        !:逻辑非 (以前是false,现在就是true。以前是true,现在就是false)
                只要是女的就行   !男
        ^:逻辑异或(相同为false,不同为true)
                false^false   //结果是false
                true^true    //结果是false
                最后发现你也找不到,就找了个男的。

        &&和&的区别是什么?
                &&:短路与。当左边的表达式的结果为false的时候,右边的表达式不执行。
                &:逻辑与。无论左边表达式的结果是false还是true,右边的表达式都会执行。
                但是,不管用&&或者&,最后计算出来的整体表达式的结果都是一样的。
                        //++x && ++y
        ||和|的区别:
                ||:短路或,当左边表达式的结果是true的时候,右边不执行。
                |:逻辑或。无论左边的结果是true还是false,右边都执行。
                但是,不管用||或者|,最后计算出来的整体表达式的结果都是一样的。
        开发中:
                我们常用的是: &&,||,!

位运算符:(功能跟逻辑运算符类似,把0看做false,1看做是true)
        位运算符:计算的数据的补码形式。
        &:按位与        有0则0.
        |:按位或        有1则1.    6&2
        ^:按位异或        相同为0,不同为1
                一个数据被同一个数据位移或两次,结果不变。(10^5^5)
        ~:按位取反        1变0,0变1


        <<:左移  相当于该数据乘以2的几次幂   右边空缺位用0补齐。
        >>:        右移  相当于该数据乘以2的几次幂          最高位是0,空缺位用0补齐。如果最高位是1,空缺位用1补齐。
        >>>:无符号右移        不管最高位是0还是1,空缺位都用0补齐。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2