文章目录

  • 一、算术运算符
  • 二、关系运算符
  • 三、逻辑运算符
  • 四、赋值运算符
  • 五、三元运算符
  • 六、运算符的优先级
  • 七、位运算
  • (一)、原码 反码 补码
  • (二)、位运算符


一、算术运算符

类型:
 + - * / % ++ - -

说明

  1.  i ++ 表示先赋值再自增,++ i 表示先自增再赋值。
  2.  i - - 表示先赋值再自减,- - i 表示先自减再赋值。
  3. %的本质可以看成一个公式:a % b = a - a / b * b 例:
    10 % 3 = 110 % -3 = 1-10 % 3 = -1-10 % -3 = -1

二、关系运算符

关系运算符的结果都是boolean型,关系表达式常用在条件判断语句中。
类型:
相等:==
不等: !=
小于:<
大于:>
小于等于:<=
大于等于:>=

三、逻辑运算符

用于连接多个条件/表达式,最终结果也是boolean型。

类型:

逻辑与:&(同真为真)

逻辑或:|(有真为真)

异或:^(相同为真,不同为假)

短路与:&&(同真为真)

短路或:||(有真为真)

取反:!(真假互换)

java价格计算公式 java的计算公式_赋值运算符

说明

  1. &与&&区别:
    a&&b,若a为false,那么b将不会进行判断;
    a&b,无论a为true还是false,b都会判断。
  2. | 与 || 区别:
    a || b,若a为true,那么b将不会进行判断;
    a | b,无论a为true还是false,b都会判断。
  3. 因此可以得出为什么叫短路与/短路或(走到第一步就被截断了),&&和||常用于条件判断,&和|常用于运算。

四、赋值运算符

基本赋值运算符:=
复合赋值运算符:+= -= *= /= %= 等

五、三元运算符

基本语法:
条件表达式?表达式1:表达式2;
运算规则:
若条件表达式为true,运算结果是表达式1;
若条件表达式为false,运算结果是表达式2。

六、运算符的优先级

优先级从上到下逐级递减;只有单目运算符(对一个变量运算,例:++a)、赋值运算符是从右到左的。

优先级方向

类型

运算符

. () {} ; ,

右>左

单目运算符

++ - - ~ !

左->右

算术运算符

* / %

左->右

同上

+ -

左->右

位移运算符

<< >> >>> 位移

左->右

比较运算符

< > <= >= instanceof

左->右

同上

== !=

左->右

逻辑运算符

&

左->右

同上

^

左->右

同上

|

左->右

同上

&&

左->右

同上

||

左->右

三元运算符

?:

右->左

赋值运算符

= *= /= %=

同上

+= -= <<= >>=

同上

>>>= &= ^= |=

七、位运算

(一)、原码 反码 补码

  1. 最高位为符号位:0表示正数,1表示负数。
  2. 正数的原、反、补码一样。
  3. 负数的反码 = 原码符号位不变,其他位取反(或者补码-1)。
  4. 负数的补码 = 原码符号位不变,其他位取反加一(或者反码+1)。
  5. 0的原、反、补码都是0。
  6. Java没有无符号数,即都是有符号数。
  7. 计算机运行时,以补码方式运算。
  8. 我们看结果时,看的是原码。

具体请参考其它博客,这里不做解释。

(二)、位运算符

 右位移 >> :本质右移1位除2(低位溢出,符号位不变,高位用符号位补)
 左位移 << :本质左移1位乘2(符号位不变,低位补0)
 算术右位移 >>>(又称无符号右移,低位溢出,高位补0)
 按位取反 ~
 按位与 &
 按位或 |
 按位异或 ^