为什么定义了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是常量,是不存在类型转换的。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 11489 问题

查看课程