在Java运算中,存在一些关系到顺序的计算,这些计算顺序在C/C++语言中是不确定的,
并且最后的结果也没有保障。而Java不同,Java经过编译之后,生成的是与平台无关的
字节码,并且交互对象是Java虚拟机,与底层的硬件环境无关,这些运算在Java中是
确定的。在Java中,操作数的计算顺序是从左向右的,也就是首先计算左侧的操作数,
然后再计算其右侧的操作数。操作数从左向右的计算规则与运算符的结合性无关,就算
运算符是由右向左结合的,也会在运算之前确定左侧的操作数。
符合运算符可以自动将右侧运算结果类型转换为左侧操作数的类型。
如:byte b=1;
b=b+1; //错误 因为1是int类型的
b+=1; //正确,相当于b=(byte)(b+1);
并且最后的结果也没有保障。而Java不同,Java经过编译之后,生成的是与平台无关的
字节码,并且交互对象是Java虚拟机,与底层的硬件环境无关,这些运算在Java中是
确定的。在Java中,操作数的计算顺序是从左向右的,也就是首先计算左侧的操作数,
然后再计算其右侧的操作数。操作数从左向右的计算规则与运算符的结合性无关,就算
运算符是由右向左结合的,也会在运算之前确定左侧的操作数。
符合运算符可以自动将右侧运算结果类型转换为左侧操作数的类型。
如:byte b=1;
b=b+1; //错误 因为1是int类型的
b+=1; //正确,相当于b=(byte)(b+1);