Java语言基础-运算符

一丶逻辑运算符

  1.&和&&的区别

    (1).两个逻辑运算符的结果是一样的

    (2).当第一个表达式为false时,&是会判断后边的表达式,而&&会产生短路,所以不会判断以后的表达式

  2. | 和 || 的区别

    (1).两个逻辑运算符得到的最终结果是一样的

    (2).当第一个表达式为true时, | 是会判断后边的表达式,而 || 会产生短路,故不会判断以后的表达式

  注:一般情况下都用&&和 || .并且 &和 | 可以参入位运算

二丶位运算符

Java语言基础-运算符

  

 

  1.&运算 请看下图(把十进制的数转换为2进制,然后两个两个比较,必须两个数都为1得到的二进制数才是1,否则是0)

    Java语言基础-运算符

  2. |运算 请看下图(把十进制的数转换为2进制,然后两个两个比较,两个数其中有一个为1得到的就是1,其他为0)

    Java语言基础-运算符

  3. ^运算(把十进制的数转换为2进制,然后两个两个比较,两个数相同就是0,不相同就是1)

    Java语言基础-运算符

    (1). ^运算有一个特点,一个数异或同一个数两次,结果还是这个数

  4. ~ 反码 (就是二进制运算中的取反操作).

  5.<< 相当于乘以2的倍数.

  6.>>相当于除以2的倍数.

  移动n位,就是对乘以或者除以2的n次幂.  具体请看下图

    Java语言基础-运算符

  7.>>>:无符号右移:更右移的区别就是,数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。

三丶三元运算符

  1.格式

    (1) (条件表达式)?表达式1:表达式2;

    (2) 如果条件为true,运算后的结果是表达式1;

    (3) 如果条件为false,运算后的结果是表达式2;

  2.实例

    (1) 获去两个数中最大数.

    (2) int x=3,y=4,z;

    (3) z=(x>y)?x:y; //变量存储的就是两个数的最大数