强制类型转换问题
来源:3-21 编程练习
qq_慕运维0122538
2021-01-03 19:32:49
为什么程序第6行,char = n; 运行出错,
换成 char = (char)n; 就可以了?
为啥这里需要强制类型转换?
2回答
同学你好,
1、在java中,char占2个字节,取值范围是0-65535。由于98在取值范围内,所以char ch = 98;没有问题。
2、int n=98;char ch=n;中变量n是int类型,int类型占4个字节,取值范围比char的大,将int类型数据赋值给char类型数据时需要强制类型转换。
如下:
int n = 98; char ch = (char)n;
在后面第4章数据类型转换中会学习到类型转换,同学可以先这样写。
祝学习愉快
qq_慕运维0122538
提问者
2021-01-03
或者说,为什么 char ch = 98; 这样没有问题;
而 int n = 98; char ch = n; 这样就不可以了呢?
相似问题