Java中byte在运算之前默认自动转换成int

byte b1=3,b2=4,b;
        b=b1+b2; //错误 运算时会自动转换为int类型 而int类型的值不能赋值给byte 需要强制类型转换

        b=3+4;//正确  常量具有常量类型优化机制 可以直接识别为byte(原因:常量运算,先把结果算出来再赋给一个变量)

 

Java中byte在运算之前默认自动转换成int

 

 

 

当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:

只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;
否则,只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;
否则,只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;
否则,两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。

 

上一篇:打印浮点值


下一篇:整数拓展