为什么定义了n, 将变量n赋值给字符变量c1的时候要进行强转,而直接赋值常量;并不需要强转
来源:4-4 编程练习
JT987
2019-09-19 14:56:53
int n = 65;
char c1 = (char) n;//要进行强转
char c2 = 65;//不需要强转,这是为什么
1回答
好帮手慕酷酷
2019-09-19
同学你好,char c1 = (char) n;需要强转的原因是因为,将n赋值给c1,因为n是变量,java虚拟机无法判断赋值后的类型,所以需要强制类型转换,明确告诉赋值后的类型。
而char c2=65;不需要强转是因为char本身可以使用数字表示字符类型,计算机底层会通过ASCII转化为字符‘a’,并且65是常量,是不存在类型转换的。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题