Java中运算符的种类

  • Post author:
  • Post category:java



# 1.Java中运算符的种类

算术运算符、位运算符、赋值运算符、关系运算符、逻辑运算符、三目运算符、类型相关运算符
# 2.算术运算符
作用:执行基础的四则运算
+ – * / % ++ —
取余运算(模运算):





  1. //模运算(取余运算)





  2. int


    a


    =




    10


    ;





  3. int


    b


    =




    3


    ;





  4. System


    .


    out


    .


    println


    (


    a


    %


    b


    );

自增运算符:++

作用:操作一个变量(单目运算符),以步长为1,将运算数的值进行自增
i++:先用后加:①将变量中的值取出,进行打印或四则运算(用)②对变量进行步长为1的自增③将自增完毕量重新赋值给变量
++i:先加后用:①

对变量进行步长为1的自增②


将自增完毕量重新赋值给变量③


将变量中的值取出,进行打印或四则运算(用)





  1. int


    i1


    =




    0


    ;





  2. System


    .


    out


    .


    println


    (


    i1


    ++);





  3. System


    .


    out


    .


    println


    (


    i1


    );








  4. System


    .


    out


    .


    println


    (


    "----------"


    );








  5. int


    i2


    =




    0


    ;





  6. System


    .


    out


    .


    println


    (++


    i2


    );





  7. System


    .


    out


    .


    println


    (


    i2


    );








  8. System


    .


    out


    .


    println


    (


    "----------"


    );








  9. int


    i3


    =




    0


    ;





  10. int


    i4


    =




    0


    ;





  11. System


    .


    out


    .


    println


    (


    i3


    ++




    +




    ++


    i3


    );




    //2:0 + 2





  12. System


    .


    out


    .


    println


    (++


    i4


    +


    i4


    ++);




    //2:1 + 1








  13. System


    .


    out


    .


    println


    (


    "----------"


    );








  14. System


    .


    out


    .


    println


    (


    i3


    );




    //2





  15. System


    .


    out


    .


    println


    (


    i4


    );




    //2

# 3.位运算符
作用:操作

整数

的2进制位
注意:Java的位运算符不适用于浮点值
(了解:)
二进制位的表示形式:
5:

0

000 0000 0000 0000

0000 0000 0000 0101 –> 1*2^0 + 0*2^1 + 1*2^2 = 1 + 0 + 4 = 5
9:

0


000 0000 0000 0000


0000 0000 0000 1001
二进制整数的表示码制:
二进制表示整数统一使用

补码

表示:
正整数:补码 == 源码
负整数:补码:去除正负位,得到绝对值位,将绝对值位:按位取反,末位加1
-5:

0


000 0000 0000 0000


0000 0000 0000 0101
取绝对值:1

(


000 0000 0000 0000


0000 0000 0000 0101)
按位取反:1(111 1111 1111 1111 1111 1111 1111 1010)
末尾加1:1

(111 1111 1111 1111 1111 1111 1111 1011)
-5:

1


111 1111 1111 1111 1111 1111 1111 1011
二进制位负数求绝对值:
①忽略符号位
②将绝对值位:末尾减1,再取反


1

(


111 1111 1111 1111 1111 1111 1111 1011)



1

(


111 1111 1111 1111 1111 1111 1111 1010)



1

(000


0000 0000 0000 0000 0000 0000 0101)

&:与运算
作用:全1为1,有0全0
5:0000 0101
9:0000 1001
&:0000 0001 = 1
|:或运算
作用:有1为1,全0为0
5:0000 0101
9:0000 1001

|:0000 1101 = 13
~:取反运算(单目运算符)
作用:01互换
5:0000 0101
~:1111 1010 = -6
^:异或运算
作用:相同为0,不同为1
5:0000 0101
9:0000 1001

^:0000 1100 = 12
>>:右移运算
作用:将2进制位向右进行移动,最右边的2进制位溢出,空位在左侧,用符号位补齐
现象:

正整数

向右位移1位,相当于除以1次2,右移运算不会改变运算数的符号
5:0000 0101
>> 2:0000 0001
<<:左移运算
作用:将2进制位向左进行位移,最左边的2进制位溢出,空位在右侧,用0补齐
现象:正整数向左位移1位,相当于乘以1次2,左移运算有可能改变运算数的正负
5:0000 0101
<< 2:0001 0100
>>>:无符号右移运算
作用:

将2进制位向右进行移动,


最右边的2进制位溢出,


空位在左侧,统一使用0补齐
现象:无符号右移得到的结果一定是正数
5:0000 0101
>>> 1:0000 0010
-5:1111 1011
>>> 1:0111 1101
# 4.赋值运算符
传统的赋值运算符只有一个:=
i1 += 5; : 在i1这个变量原值的基础上加上一个5,并将运算结果重新赋值回i1
+=:赋值运算符的扩展
+= -= *= /= %= &= |= ^= >>= <<= >>>=
赋值运算符扩展的规则:
①被扩展的运算符必须是双目运算符
②被扩展的运算符运算结果必须是数字
# 5.关系运算符
作用:用来表示两个数字类型晕算数的大小、等于等关系
< <= == != >= >
# 6.逻辑运算符
&:同真为真,一假全假
|:有真为真,全假为假
!:真假互换
^:相同为假,不同为真
&&:短路与:如果参与与运算的两个条件中,第一个条件就是假的,后序判断条件不执行
||:短路或:如果参与或运算的两个条件中,第一个条件就是真的,后序判断条件不执行
# 7.三目运算符
解释名词:运算符的目数:就是参与当前运算符运算的运算数个数
单目运算符:++ — ~ !
双目运算符:+ – * / % >> << >>> & && | || == != < <= > >=
三目运算符:?:
作用:实现最简单的条件分支:根据一个条件是否达成,判断返回哪个具体的值
使用公式:条件成立吗 ? 成立返回这个 : 不成立返回这个;

注意:三目运算符长得像表达式,但是这个东西本质上还是运算符,只要是运算符就需要一个结果变量接收其运算结果
练习题:
通过三目运算符的嵌套,实现对int型整数a和b的大小关系的判断:
要求:
a > b:返回“大于”字符串
a == b:返回“等于”字符串
a < b:返回“小于”字符串





  1. int


    a


    =




    10


    ;





  2. int


    b


    =




    15


    ;





  3. String


    resultStr


    =


    a


    >


    b


    ?




    "大于"




    :




    (


    a


    ==


    b


    ?




    "等于"




    :




    "小于"


    );





  4. System


    .


    out


    .


    println


    (


    resultStr


    );

# 8.运算符的结合性
结合性:一个运算符从哪边向哪边进行运算
大部分的运算符都是从左向右进行结合的

Java中从右向左进行结合的运算符:赋值运算符、单目运算符、三目运算符



版权声明:本文为qq_39326137原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。