Java的运算符

 

1.算数运算符

  + 加(正号)  - 减(符号)  * 乘  / 除

  % 取模(取余)  ++ 自增  -- 自减

  +号的几种作用:

  加法运算  表示为一个正数  还可以用来作字符串的拼接

  整数相除只能得到整数。如果想得到小数,必须把参与计算的数据变化为浮点类型的数据。

  自增和自减运算,在单独使用,效果是一样的。

  在参与其它运算时:

    ++ 在前 当前数先 +1 ,在进行其它运算。

    ++ 在后 先进行其它运算,当前数在 +1。

    -- 在前 当前数先 -1 ,在进行其它运算。

    -- 在后 先进行其它运算,当前数在 -1。

  常量不可以使用 自增和自减运算。

 

2.赋值运算符

  基本的赋值运算符:=

  扩展的赋值运算符:+= , -= , *= , /= , %= 

  扩展的赋值运算符,默认隐含了一个强制类型转换

  常量不可以使用

 

3.比较运算符

  == 相等于   != 不等于  < 小于  > 大于  <= 小于等于  >= 大于等于  instanceof 检查是否是类的对象 

  不管操作简单还是复杂,结果肯定是boolean类型。

  instanceof 判断是否是类的对象 Eg : "hello" instanceof String; true

 

4.逻辑运算符

  & (AND 与)  | (OR 或)  ^(XOR 异或)

  !(Not 非)   &&(短路与)  ||(短路或) 

  用于连接结果为布尔型的表达式。

  ^(异或) 逻辑运算符 两边相同为 false 不同为true;

  单 &,运算符左边无论真假 右边的表达式都进行运算。

  双 &&,运算符左边为真,右边的表达式参与运算;如果运算符为假,右边的表达式则不再参与运算(提高了程序的执行效率)。

  | 和 || 同理,||左边的表达式为真后面的表达式子则不进行运算。

  !(Not 非)可以写多个,单数个为反,偶数个不变。

 

5.位运算符

  << 左移(有符号)  >> 右移(有符号)  >>> 无符号右移

  & 位与运算  | 位或运算  ^ 位异或运算

  ~ 按位取反运算符

  要做位运算,首先要把数值转化为二进制。

  计算机在操作数据的时候 都是对补码进行操作的。

    & : 将两个数转化成二进制数的补码,然后对应的每一位作与运算。有0则0,做完运算转回原码  最后将这个二进制数转成十进制;

  | : 将两个数转化成二进制数的补码,然后对应的每一位作或运算。有1则1,做完运算转回原码  最后将这个二进制数转成十进制;

  ^ : 将两个数转化成二进制数的补码,然后对应的每一位作异或运算。同0则1.

  做完运算转回原码  最后将这个二进制数转成十进制;         某一个数据对另一个数据位异或两次,其结果不变;

  ~ : 将一个数转化成二进制数补码,然后对每一位取反,即1变0,0变1. 做完运算转回原码  最后将这个二进制数转成十进制;

  <<:将符号前面的一个数转化成二进制数补码 然后最低位补符号后面数个数个0,符号位是不变的,将这个数转为原码,在转成十进制数。

    正数扩大为:<<前面的数2的<<后面的数的幂次方  负数缩小为 :<<前面的数2的<<后面的数的幂次方

  >>:将符号前面的一个数转化成二进制数补码 然后最高位为0补0,为1补1,补符号后面数个数个0或1,将这个数转为原码,在转成十进制数。

    正数缩小为:>>前面的数除以2的<<后面的数的幂次方  负数缩小为:>>前面的数除以2的<<后面的数的幂次方

    

      

  >>>:将符号前面的一个数转化成二进制数补码,不管符号位直接在最高位补零。补码转成原码,最后将这数转成十进制。

 

6.三目运算符(三元运算符)

  格式:

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

    表达式的结果为boolean类型。

    如果表达式为:true  就把表达式1作为结果。

    如果表达式为:false 就把表达式2作为结果。

    

     

posted @ 2020-01-08 23:04  孤飞鸟  阅读(851)  评论(0编辑  收藏  举报