黑马程序员技术交流社区

标题: 类型提升 [打印本页]

作者: 潘际昌    时间: 2013-11-26 22:06
标题: 类型提升
求大手指点下 怎么把byte提升为int型
作者: ysunday    时间: 2013-11-26 22:13
强转不行?
byte b = 1;
int a = (int)b;不行?

我以为是那个自动转型的题呢

有个题是这样的

byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;报错

因为b1 + b2两个byte相加会自动转成int,所以把int类型的变量赋给b3报错了
作者: 胡陈思    时间: 2013-11-26 22:44
这个问题问的纠结啊,没深究过,网上看了看,说byte是8个比特位,int是32个比特位,byte转成二进制后,转成补码,前面补1,补齐32位,然后转成int。我说的不清楚,具体还是得网上找,不过,我觉得没有深究的必要吧。
作者: jing迪    时间: 2013-11-27 00:11
byte提升为int??

前面加(byte)就可以强转了
作者: 向阳泪无痕    时间: 2013-11-27 08:58
byte b;
Byte By = new Byte();
int i = By.intVlaue();//返回int类型
作者: cuilitang    时间: 2013-11-27 10:04
  1. package cn.itcast.binarytransferdemo;

  2. public class ByteToInt {
  3.         public static void main(String[] args) {
  4.                 byte b = 5;
  5.                 int i = b;        //直接将b的值赋给i,没问题啊,自动向上转型的
  6.                 System.out.println(i);
  7.         }

  8. }
复制代码





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