早教吧作业答案频道 -->其他-->
在Java中,两个byte类型数据相加为什么会报错呢?byteb=4;byteb1=3;byteb2=7;b=b1+b2;//这样是计算不出b,是错误的b=b1+7;//这样也是计算不出bbyteb=3+7;//怎么这样又可以计算?以下有了详细的介绍,希望有
题目详情
在Java中,两个byte类型数据相加为什么会报错呢?
byte b=4;
byte b1=3;
byte b2=7;
b=b1+b2; //这样是计算不出b,是错误的
b=b1+7; //这样也是计算不出b
byte b=3+7; //怎么这样又可以计算?
以下有了详细的介绍,希望有跟我一样不理解的也能看到:
//b = 3+7;
/*
b取值范围:-128~127
编译器在编译时(byte类型取值是有限的)他在判断右边的数值的时候发现是int类型(是“常量”),但他会判断是不是在byte字节范围之内,如果在的话,会给右边的int类型做默认的强转,他把最后的一个字节(byte八个二进制)赋值到了b这个变量当中
*/
/*
b1和b2是“变量”意味着这两值不确定、可能随时变化,编译器无法检查,也无法确定是否在byte字节范围之内,他检查不了就会报错(可能丢失精度),如果是“常量”编译器就能够判断了
int x;
int x1=Integer.MAX_VALUE;
int x2=2;
x=x1+x2;
默认int运算,一旦超出这个范围,他自动底层有强制转换过程,保留自己原有位置、高位全舍弃 这就是byte和int的区别,int属于默认类型,他就没有byte上面那样的问题
*/
//byte和short类型“变量”,相加不能确定结果,无法检查,也不是默认类型,所以byte、short类型相加的时候,都会自动提升到int类型的
byte b=4;
byte b1=3;
byte b2=7;
b=b1+b2; //这样是计算不出b,是错误的
b=b1+7; //这样也是计算不出b
byte b=3+7; //怎么这样又可以计算?
以下有了详细的介绍,希望有跟我一样不理解的也能看到:
//b = 3+7;
/*
b取值范围:-128~127
编译器在编译时(byte类型取值是有限的)他在判断右边的数值的时候发现是int类型(是“常量”),但他会判断是不是在byte字节范围之内,如果在的话,会给右边的int类型做默认的强转,他把最后的一个字节(byte八个二进制)赋值到了b这个变量当中
*/
/*
b1和b2是“变量”意味着这两值不确定、可能随时变化,编译器无法检查,也无法确定是否在byte字节范围之内,他检查不了就会报错(可能丢失精度),如果是“常量”编译器就能够判断了
int x;
int x1=Integer.MAX_VALUE;
int x2=2;
x=x1+x2;
默认int运算,一旦超出这个范围,他自动底层有强制转换过程,保留自己原有位置、高位全舍弃 这就是byte和int的区别,int属于默认类型,他就没有byte上面那样的问题
*/
//byte和short类型“变量”,相加不能确定结果,无法检查,也不是默认类型,所以byte、short类型相加的时候,都会自动提升到int类型的
▼优质解答
答案和解析
Java代码编译字节码后,byte short char boolean等基础类型都转换成int进行计算
b=b1+b2; //b1+b2得到了一个int的值所以需要强制转换
b=(byte)b1+b2;
b=b1+b2; //b1+b2得到了一个int的值所以需要强制转换
b=(byte)b1+b2;
看了 在Java中,两个byte类...的网友还看了以下:
下列关于研究方法的说法中,错误的是()A.研究电流时类比水流运用了类比法B.通过扩散现象来认识分子 2020-05-02 …
在显著水平为α的假设检验中存在两类错误,其中如果拒绝原假设,则可能犯第一类错误,第一类错误的概 2020-05-30 …
关于dig的2个短语,意思.请有国外生活经验的高手回答~digin有好几个意思,有一个意思是大吃, 2020-06-14 …
人类是不是高级动物?(不要参考只要表达你的真实想法就可以)为什么人类被成为高级动物?是人类自己取的 2020-06-30 …
达尔文的《进化论》得到了科学界的普遍认可,人类是类人猿演化而成的,那么在类人猿之前的人类是什么样的达 2020-11-03 …
下列关于人类探索遗传奥秘历程中的科学实验方法及技术的叙述,错误的是()A.摩尔根在研究果蝇杂交实验中 2020-11-27 …
下列运用科学方法的实例中,说法错误的是()A.研究电压时与水压做类比,是运用了类比法B.发现导线太长 2020-11-29 …
大度的江凯并没有对小强斤斤计较,反而握手言和。江凯的做法是A.错误的,是懦弱的表现B.错误的,等于纵 2020-12-19 …
人类进化的方向错了吗?是被人类自生误导了吗? 2021-01-05 …
什么说春雨是什么色的,什么到什么上,什么变什么了;类似的句子 2021-02-03 …