-6

这是代码,它可以工作,它将 66 转换为 B 的 ASCII 等价物。

int ascii = 66;
char character = (char) ascii;

我不明白的是,它是如何工作的?如果这是一份试卷,你会写什么?

问题是,描述程序如何将其转换为“B”。是char函数吗?

4

1 回答 1

0

"char" => "int" 称为加宽基元转换 ,"int => char" 称为收窄基元转换

在 Java 中,char 只是一个 16 位整数。当将 int(32 位整数)转换为 char 时,您将保留 int 的 16 个最低有效位,并丢弃高 16 位。这称为缩小转换。Java 字符表示为 Unicode 字符集的成员。'B'的 Unicode 值为66 。

int ascii = 66;

整数值 66 分配给ascii

char 字符 = (char) ascii;

character存储整数的前 16 位ascii。存储 66 不超过 16 位,因此 char 变量正确

于 2013-06-02T07:21:58.410 回答