电脑技术吧

会员投稿 会员登录 会员注册 网站公告:
搜索: 您现在的位置主页 > 软件开发 > JAVA亚博ios下载地址 > Java语言 > 正文

Java中类型转换的特例

作者:admin    文章来源:互联网 电脑技术吧     点击数:    更新时间:2011-09-27
收藏】 【挑错】 【推荐】 【打印

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

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型字面常量,而且值必须能被左边类型表示

本文来自织梦

发表评论 请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:密码:新注册匿名
评论总数: [ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 在线帮助