找出错误:类型转换

来源:互联网 发布:广东省数据统计局 编辑:程序博客网 时间:2024/05/09 17:52
1、面试题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?

b=b1+b2;//错误:这个是类型提升,所以出错;,,
b1和b2是byte型在计算的时候先升级到int型,
再转换成byte型出错


b=3+4;//正确:常量,先将结果计算出来,
再看结果是否在byte类型内,如果在就不报错
2、练习题:
byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?
有问题:因为byte的范围在-128~127而不在130不在此范围内,所以报错
修改:我们可以使用强制类型转换
byte b=(byte) 130;

结果:-126;
分析过程:
我们要想知道结果是什么,就应该知道是如何进行计算的。
而我们又知道计算机中数据的运算都是补码进行的。
而要得到补码,首先要计算出数据的二进制。
A:获取130这个数据的二进制。
00000000 00000000 0000000010000010
这是130的原码,也是反码,还是补码。
B:做截取操作,截成byte类型的了。
10000010 
这个结果是补码。
C:已知补码求原码。
符号位 数值位
补码: 1 0000010
反码: 1 0000001
原码: 1 1111110





变量相加会首先看类型问题,最终将结果赋值的时候也会考虑类型问题。

常量相加首先看结果,然后看结构是否在赋值的数据范围内,如果不在,才报错。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华硕路由器忘记账号密码忘了怎么办 光纤猫光信号闪红灯不能上网怎么办 被传销洗了脑的人怎么办 辞职了评职称年度考核表怎么办 我是饭店饭店欠供货商的钱多怎么办 mac电脑ps卡住了点不了怎么办 高考自愿民族栏要改为民族怎么办 法院拆消裁定后再审有错怎么办 重定向语句前面有文件路劲怎么办 您上传的图片大小超过3M怎么办 两个人打架被拍视频上传了怎么办 小米手机打开后一直出现英文怎么办 百度云分享文件含有违规内容怎么办 百度网盘下载说本地空间不足怎么办 绘声绘影X9将滤镜拖到视频怎么办 苹果手机中间的按钮没用了怎么办? 图片怎么发的在百度里面应该怎么办 学java刚看的视频就忘了怎么办 qq上传照片一直显示排队中怎么办 微信支付不小心重复付款怎么办 学习通上传视频时 文件过大怎么办 电脑死机了怎么办 也不能关机了 还没发货淘宝退款卖家不处理怎么办 还没发货申请退款卖家不处理怎么办 快递写错电话被更改收货信息怎么办 货在派送中快递地址填错了怎么办 老板损坏了你保管的器材怎么办 闲鱼买家说不合适要退货怎么办 日本邮便局的单号我忘了怎么办 小米盒子自带播放器被删除了怎么办 在电视上装了央视影音要升级怎么办 用现金支付货款没有了证据怎么办 楚楚街不发货客服不理人怎么办 厨房那面墙借用别人的怎么办 天猫买东西商家不给发货怎么办 在唯品会上买的水果坏了怎么办 美团极速退款后商家仍然送餐怎么办 我的拼多多商家密码忘了怎么办 特约金服扣款连续扣了两次怎么办? 拼多多拒绝退款联系客服退款怎么办 镇江新设名称申报中字号怎么办