1. 赋值运算符
Java 中赋值运算符包括:=
、+=
、-=
、*=
、/=
、%=
。
2. 算术运算符
算数运算符包括 +
、-
、*
、/
、%
、++
(自增)以及--
(自减)。需要注意的是,在特殊情况下使用++
和--
时变量值的变化。
我们以++
为例(--
几乎是一模一样的),它在单独使用时,i++
和++i
效果是一样的,都等等同于i = i + 1
或者 i += 1
。
但是如果操作涉及到变量的赋值,就需要特别注意,具体请看下面示例:
public class Arithmetic {
public static void main(String[] args) {
int i = 10;
System.out.println("i: " + i);
int j = i++;
System.out.println("j: " + j);
System.out.println("i: " + i);
int k = ++i;
System.out.println("k: " + k);
System.out.println("i: " + i);
}
}
上面示例可以看到,对于 j = i++
操作,先将i
赋值给j
,然后i
自加;对于k = ++i
操作,是先完成i
自增1,然后将i
赋值给k
。
3. 比较运算符
Java 中比较运算符包括:等于(==
)、不等于(!=
)、大于(>
)、小于(<
)、大于等于(>=
)、小于等于(<=
)。
4. 逻辑运算符
Java 中逻辑运算符包括与(&
、&&
)、或(|
、||
)、非(!
)以及异或(^
),其中&&
和||
称为短路运算符。
这里特别说明一下&
、&&
、|
、||
:
&
和&&
的比较:对于cond1 && cond2
这样的运算,如果cond1
为false
的话,就不再继续计算后面cond2
。|
和||
的比较:对于cond1 || cond2
这样的运算,如果cond1
为true
的话,就不再继续计算后面cond2
。5. 位运算符
Java 中位运算符包括:左移(<<
)、右移(>>
)以及无符号右移(>>>
)。6. 三元运算符
三元运算符的结构与if...else...
比较类似,判断一个条件是否为真,如果条件为真取第一个值,否则取第二个值。
public class Ternary {
public static void main(String[] args) {
int i = (4 < 3) ? 1 : 2;
System.out.println(i); // output is 2
}
}