java中的运算符案例
public static void main(String[] args) {
//需要把等号右边的5 * 0.6的计算结果转成int类型才可以赋值给a,否则会报错
int a = 5 * 0.6;
System.out.println("a = " + a);
int b = 5;
//但是使用 *= 运算符的话就直接把结果强行转换成int类型了
b*= 0.6;
System.out.println("b = " + b);
}
a*=xxx 相当于 a = a*xxx
这些运算符都可以这么理解,唯一不同的地方就是,这样做以后会进行类型转换
比如int a=1; a*=0.6 这按照 a=a*0.6来计算的话需要转成int类型才可以赋值给a,但是使用 *= 运算符的话就直接把结果强行转换成int类型了,这是一个不同处
另一个不同处就是 a=a*0.6 这种运算符会先拿出a来,然后进行运算在放回a里去,而*=运算符是直接拿a做运算的,而不是把a拿出来在做运算,这也是为什么会进行强制的类型转换的原因