繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 资料/其它 >> Java中类型转换的特例

Java中类型转换的特例

2005-04-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:先看一下下面的语句那些是非法的。 byte b1=2; byte b2=1+1; byte b3=b1+1; byte b4=b1++; int i1=Integer.MAX_VALUE+1; //Integer.MAX_VALUE=2147483647 int i2=2147483648; 把byte改为char和short几乎是一样的...
关键字:特例 类型 Java

先看一下下面的语句那些是非法的。

byte b1=2;

byte b2=1+1;

byte b3=b1+1;

byte b4=b1++;

int i1=Integer.MAX_VALUE+1; //Integer.MAX_VALUE=2147483647

int i2=2147483648;

把byte改为char和short几乎是一样的。

因为整数字面常量是int型的,也就是1和2都是int型的

在赋值语句中直接把一个int型赋给byte肯定是不行的。

int i=1;

byte b=i;

是编译不过的,因为隐性类型转换不允许,改为下面的就可以了

int i=1;

byte b=(byte)i;

隐性转换一般都是放宽转换(如byte到int,String到Object)

但是却有一个例外就是,在赋值转换中,

隐性转换也包含了缩窄基本转换。

就是从int到byte,char,short的转换:

比如:

byte b=1;//合法

byte b=128; //非法

右边必须为int型字面常量,而且值必须能被左边类型表示

责任编辑:admin
相关文章