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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冷锋也温柔 中级黑马   /  2014-9-5 10:48  /  703 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

记得老师说过数据类型注意问题A:boolean类型不参与数据的转换。B:byte,short,char之间不转换,它们参与运算都首先转换为int类型。
但是发现不对啊   下面的程序运行通过了
package lianxi;
class celient{
public static void main(String args[]) {
        short i='a';   这里char转short 没报错
        byte x=3;
        char y=(char)x;这里  byte转char也没报错  咋回事啊
        float j=6.3f;
        float a=i+j;
}
}

2 个回复

倒序浏览
老师讲过么?如果讲过,那就是讲得不完整。初始化时=右边如果是编译时常量,则会自动尝试类型转换,而char to short是允许的。至于你用(char)强制转为char,那自然是允许的。参见http://bbs.itheima.com/thread-127149-1-1.html
回复 使用道具 举报
小类型自动转大类型,大类型强转成小类型,哪里有问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马