社区
Java
帖子详情
Byte b,b1=3,b2=2;为什么b=b1+b2;会报错呢?这不是同一类型变量赋值吗
哇噻一个小锅
2019-04-26 08:28:51
Byte b,b1=3,b2=2;为什么b=b1+b2;会报错呢?这不是同一类型变量赋值吗
...全文
304
3
打赏
收藏
Byte b,b1=3,b2=2;为什么b=b1+b2;会报错呢?这不是同一类型变量赋值吗
Byte b,b1=3,b2=2;为什么b=b1+b2;会报错呢?这不是同一类型变量赋值吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_40343906
2019-04-27
打赏
举报
回复
在java中,类型为byte,short,char类型的变量在运算的时候会自动转为int类型,b=b1+b2;中b1+b2为int类型,而b还是byte类型,所以会报精度损失,将这个式子改为b=(byte) (b1+b2);即可!
Timor__
2019-04-26
打赏
举报
回复
还有就是两个字节进行运算时,java这个机制会自动把它们转化为int类型,他俩相加之后就为int类型了,你把它赋值给一个byte类型肯定会报错
Timor__
2019-04-26
打赏
举报
回复
看一下你代码跟报错呢
OpenGL-自主高性能三维GIS平台架构与实现-第二季
什么是DEM,作用是什么 2 DEM数据 1.如何获取/ 传统测量/激光扫描/无人机测量/ 点云数据/ 倾斜摄影2.如何使用/局部小规模(栅格数据,图片/tif),3. 组织方式4. 根据使用目的不同,介绍多种优化方法 3 DEM图层的实现...
byte
和int的
类型
转换,最好的解释,
byte
b1
=3,
b2
=4,b3,b; b=
b1
+
b2
;b3=
b1
+2; b=3+4;出错哪里?
byte
b1
=3,
b2
=4,b3,b; b=
b1
+
b2
;b3=
b1
+2; b=3+4;出错哪里?
byte
b1
=3,
b2
=4,b; b=
b1
+
b2
;//错误
byte
运算先变成int,再计算, 因为他们最终是要转向int
类型
而int
类型
的值不能
赋值
给
byte
,
byte
,char,short编译时都是需要转成int,才可运算。 b=3+4;//正确 因为他们都是常量 具有常量
类型
优化机制 可以直...
byte
b1
=3,
b2
=4,b; b=
b1
+
b2
;b=3+4; 为什么编译失败
byte
b1
=3,
b2
=4,b; b=
b1
+
b2
;//错误
byte
运算先变成int,再计算, 因为他们最终是要转向int
类型
而int
类型
的值不能
赋值
给
byte
,
byte
,char,short编译时都是需要转成int,才可运算。 b=3+4;//正确 因为他们都是常量 具有常量
类型
优化机制 可以直接识别为
byte
,两个常量相加,先计算常量数值,然后判断是否满足
类型
范围,再
赋值
。 哪句是编译...
byte
b1
= 3,
b2
= 4
byte
型数据相加 参考: 我查到的大佬的解说 最近做了一道题有些疑惑,在网上查后还是决定记录一下,毕竟自己记性一般般呀。这年轻人???? 题目是这样的:
byte
b1
=1,
b2
=2,b3,b6; final
byte
b4=4,b5=6; b6=b4+b5; b3=(
b1
+
b2
); System.out.println(b3+b6); 问:这段代码的输出结...
类型
转换之
byte
-int
第一题:
byte
b1
=3,
b2
=4,b; b=
b1
+
b2
; b=3+4; 哪句是编译失败的呢?为什么呢? b=
b1
+
b2
因为3和4是int
类型
的,在运算的时候
会
自动转换成int
类型
, 但是由于自动转型只能向上转型不能向下转型到
byte
,所以
会
报错
第二题:
byte
by = 130;有没有问题?有问题如何解决?结果是多少呢? 有,因为
byte
的范围在-128~12...
Java
50,503
社区成员
85,598
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章