JAVA常用运算符极其运算优先级的总结

a、算数运算符:  +    -     *      /     %

b、赋值运算符: =    +=      -=       *=        /=       %=    &=     |=

c、关系运算符: <      >       <=      >=       ==        !=

d、逻辑运算符:&&    ||        !     

e、三目运算符:(  ?   :)

f、字符串连接:+

g、位运算

                            &      位都为1,结果才为1,否则结果为0

                            |        位只要有一个为1,那么结果就是1,否则就为0

                            ^       两个操作数的位中,相同则结果为0,不同则结果为1

                            ~      如果位为0,结果是1,如果位为1,结果是0

h、移位:

                            <<     左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)

                            >>    "有符号"右移运算符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则 在高位补1.

                            >>>  "无符号"右移运算符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.

                            (PS:x<>y相当于x/2y,从计算速度上讲,移位运算要比算术运算快。如果x是负数,那么x>>>3没有什么算术意义,只有逻辑意义。)

运算符优先级:从左到右

      [ ]         ( )     ++      --        !       ~      instanceof      *       /       %       +        -        <<       >>          >>>        <      >       < =      > =       ==      !=      &     ^       &&      ||        ? :           op=

你可能感兴趣的:(java)