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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int a=1;
char b=1;
char c='a'+1;
char d=a+1;
变量c:字符a加1 算数运算后应该是97+1=98 输出结果为什么是小写c?
变量d报错,需要强转为char类型,而变量c为什么不要?

3 个回复

倒序浏览
基本类型转换遵循下面的矢量:向上直接赋值,向下需要强制
byte→short(char)→int→long→float→double
在赋值“=”右边只认最高矢量:
char c='a'+1;右边的类型为char+byte,为char,同级不需要强制转换
char d=a+1;右边的类型为int+byte,为int,是向下转换,需要强制转换下
回复 使用道具 举报
变量c:字符型数据在内存中存储还是数字形式。当你要输出时,转为对应字符
变量d:见http://bbs.itheima.com/thread-127149-1-1.html
回复 使用道具 举报
基本功不能啊,努力学习吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马