java的++i和i++

java中存在自增或自减运算符,++可以放到变量的前面,也可以放到变量的后面。从理解上讲,我们可以认为++i是先进行的运算,然后进行的赋值;i++是先赋值,然后进行的运算;那么如下的情况:

int i=5;
i=i++;此时i的结果应该是?---》5
其实在运算的时候,“=”运算符的优先级别是很低的,内存中还是先做等号右边的操作,只不过i++的时候,会保存一份i的原始值,做赋值操作用。



byte a = 5;

a=5+3;//1、编译正常,编译器在编译的时候,先做等号右边的运算,结果为int类型的8,

//8在byte的表示范围内,编译器会有一个强转的过程

byte b = 3;

//byte c = a+b;//2、编译错误,因为a+b运算为int类型,同时a和b都为变量,不确定具体的值是多少

//所以如果数值过大的话,就会导致精度丢失


你可能感兴趣的:(java,自增,i++,++i)