A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© iamzk 中级黑马   /  2015-8-22 23:22  /  1511 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面试题:
  第一题:
  byte b1=3,b2=4,b;
  b=b1+b2;
  b=3+4;
  哪句是编译失败的呢?为什么呢?
答:第二句,因为b1,b2在运算过程中自动提升为int类型,其相加结果也应为int,将int结果赋值给byte
    可能会丢失精度.
  第二题:
  byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?
答:有问题.将130强制转换为byte ,byte by = (byte)130,结果为:-126
  第三题:
  byte b = 10;
  b++;
  b = b + 1;
  哪句是编译失败的呢?为什么呢?
答:第三句,因为在进行b + 1运算时,b被自动提升为int,其结果也为int,将int赋值给byte,
    可能会丢失精度.

11 个回复

倒序浏览
我一直搞不机密这类问题,求大神详解!!我是不是应该找点数据结构的书来看看啊。。
回复 使用道具 举报
学习了!!!!!!!!!!!!
回复 使用道具 举报
第二个有点忘了,多谢
回复 使用道具 举报
蛮搞的  居然只对了一道  要抓紧补习了
回复 使用道具 举报
基本逻辑
回复 使用道具 举报
klamo 中级黑马 2015-8-23 09:04:51
7#
受教了!!!!!
回复 使用道具 举报
b=3+4;( 3 4 是int类型,类型不匹配。
回复 使用道具 举报
shdosh 中级黑马 2015-8-23 09:43:52
9#
这么细节的问题还真没试过,要编一下才知道!
回复 使用道具 举报
居然只对了一道  要抓紧学习了
回复 使用道具 举报
水一发可好。
回复 使用道具 举报
为什么第二题是-126啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马