数据类型转换问题
来源:3-21 编程练习
Cyan_Tiare
2020-04-18 16:46:36
为什么System.out.println(3 + '\t' + 5 + '\n' );的输出结果是数字27,而不是ASCII码27对应的字符?
2回答
同学你好,这是java中的向上兼容,不同数据类型的数据参与运算,数据类型要强制转换,转换方式是自动转换成较大的数据类型。
int类型是32位的数据类型,char类型是16位的数据类型,int是比char大的类型,所以输出时会自动将char类型转成int 类型输出,想要输出小类型就需要强制转换。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
好帮手慕小琪
2020-04-18
同学你好,想要输出对应的字符,就要将数值转化成对应的char类型字符,输出后就是对应的ASCII码了。
27对应的ASCII码值在编译工具中无法显示正常的格式,输出后是乱码,我们常用的字符是可以输出的。
如下图(不必深究显示与否,乱码输出也是可以看到占了字节的):
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题