1. 赋值运算符

Java 中赋值运算符包括:=+=-=*=/=%=

2. 算术运算符

算数运算符包括 +-*/%++(自增)以及--(自减)。需要注意的是,在特殊情况下使用++--时变量值的变化。

我们以++为例(--几乎是一模一样的),它在单独使用时,i++++i效果是一样的,都等等同于i = i + 1或者 i += 1

但是如果操作涉及到变量的赋值,就需要特别注意,具体请看下面示例:

  1. public class Arithmetic {
  2. public static void main(String[] args) {
  3. int i = 10;
  4. System.out.println("i: " + i);
  5. int j = i++;
  6. System.out.println("j: " + j);
  7. System.out.println("i: " + i);
  8. int k = ++i;
  9. System.out.println("k: " + k);
  10. System.out.println("i: " + i);
  11. }
  12. }

上面示例可以看到,对于 j = i++操作,先将i赋值给j,然后i自加;对于k = ++i操作,是先完成i自增1,然后将i赋值给k

3. 比较运算符

Java 中比较运算符包括:等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。

4. 逻辑运算符

Java 中逻辑运算符包括与(&&&)、或(|||)、非(!)以及异或(^),其中&&||称为短路运算符。

这里特别说明一下&&&|||

  • &&&的比较:对于cond1 && cond2这样的运算,如果cond1false的话,就不再继续计算后面cond2
  • |||的比较:对于cond1 || cond2这样的运算,如果cond1true的话,就不再继续计算后面cond2

    5. 位运算符

    Java 中位运算符包括:左移(<<)、右移(>>)以及无符号右移(>>>)。

    6. 三元运算符

    三元运算符的结构与if...else...比较类似,判断一个条件是否为真,如果条件为真取第一个值,否则取第二个值。
  1. public class Ternary {
  2. public static void main(String[] args) {
  3. int i = (4 < 3) ? 1 : 2;
  4. System.out.println(i); // output is 2
  5. }
  6. }

7. 运算符的优先级