byte、short 变量相加默认转换为int,即:
byte n=4
byte u=3
byte m=n+u 为错误公式
原因:
n+u均是变量
java判断程序因不能正确分析数值,而不能肯定是否超越byte、short能够存储的范围
因而转换为int进行计算
而byte不能隐式转换为int
所以该公式应将末尾的byte转换为int
即:
byte n=4
byte u=3
int m=n+u
若:直接进行byte m=4+3
则不会出错
结:1.因int满足绝大多数需要,所以默认值不会转为long
2.变量内容存储在常量库中,要想知道变量内容,需获取变量地址,这个操作只在计算中产生