强制类型转换问题

来源:3-21 编程练习

qq_慕运维0122538

2021-01-03 19:32:49

http://img.mukewang.com/climg/5ff1aae50917e48108580414.jpg

为什么程序第6行,char = n; 运行出错,

换成 char = (char)n; 就可以了?

为啥这里需要强制类型转换?

写回答

2回答

好帮手慕阿慧

2021-01-04

同学你好,

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;

http://img.mukewang.com/climg/5ff27dfe09af225502260083.jpg

在后面第4章数据类型转换中会学习到类型转换,同学可以先这样写。

祝学习愉快

0

qq_慕运维0122538

提问者

2021-01-03

或者说,为什么 char ch = 98;  这样没有问题;

而  int n = 98;  char ch = n;  这样就不可以了呢?

0

0 学习 · 16556 问题

查看课程