黑马程序员技术交流社区

标题: 几道基础面试题 [打印本页]

作者: iamzk    时间: 2015-8-22 23:22
标题: 几道基础面试题
面试题:
  第一题:
  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,
    可能会丢失精度.

作者: 苍雪    时间: 2015-8-22 23:55
我一直搞不机密这类问题,求大神详解!!我是不是应该找点数据结构的书来看看啊。。
作者: 蛋糕的爱意    时间: 2015-8-23 00:14
学习了!!!!!!!!!!!!
作者: shine1    时间: 2015-8-23 01:15
第二个有点忘了,多谢
作者: chensheng06    时间: 2015-8-23 06:59
蛮搞的  居然只对了一道  要抓紧补习了
作者: a1ccwt    时间: 2015-8-23 08:15
基本逻辑
作者: klamo    时间: 2015-8-23 09:04
受教了!!!!!
作者: fantianfei    时间: 2015-8-23 09:06
b=3+4;( 3 4 是int类型,类型不匹配。
作者: shdosh    时间: 2015-8-23 09:43
这么细节的问题还真没试过,要编一下才知道!
作者: aguang    时间: 2015-8-23 13:32
居然只对了一道  要抓紧学习了
作者: AyangJ    时间: 2015-8-23 13:41
水一发可好。
作者: 三分之一    时间: 2015-8-23 14:20
为什么第二题是-126啊?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2