Java语言基础(类型提升&强制转换)

一、java中整数类型的默认的数值类型是int类型

1、运算过程

int x=3;
x=x+5;
先将3取到运算区,进行运算,得到8,将8赋给x,得到x=8

Java语言基础(类型提升&强制转换)_第1张图片

2、运算过程

int x=3;
byte b=5;
x=x+b;

3、重要的面试题
Java语言基础(类型提升&强制转换)_第2张图片
4、short x=5或者byte x=5(重要面试题)
x=x+3;与x=x+3;的区别
short x = 3;
//x += 5;
x = x+5;//错误: 不兼容的类型: 从int转换到short可能会有损失

解释:x+=5对两端的相加的结果进行了自动转换,所以不会出现损失精度的可能  相当于x=(short)(x+5);
而x=x+5   的结果会损失精度是因为没有进行自动转换

你可能感兴趣的:(byte,强制转换,类型提升)