1.操作符的优先级
最简单的规则就是先乘除后加减,如果忘记优先级规则,就是括号明确计算顺序。
2.赋值
需要注意“别名现象”:如果将一个对象赋值给另一个对象,实际上是将“引用”从一个地方赋值到另一个地方。
举例:对对象使用c=d,那么c和d都指向原本只有d指向的那个对象。为对象赋值可能会产生意想不到的结果。
package Test;
class Letter{
char c;
}
public class operation {
static void f(Letter y) {
y.c='z';
}
public static void main(String[] args) {
Letter xLetter=new Letter();
xLetter.c='a';
System.out.println(xLetter.c);
f(xLetter);
System.out.println(xLetter.c);
}
}
output:
a
z
3.关系操作符
尽管对象的内容相同,然而对象的引用却不同,而==和!=比较的就是对象的引用。
equals()的默认行为是比较引用。
4.逻辑操作符
短路特性:test1(0)&&test2(2)&&test3(2)