Java:将数字转换为等效的ASCII码,它是如何工作的?

Java:将数字转换为等效的ASCII码,它是如何工作的?,java,ascii,Java,Ascii,这是代码,它可以工作,它可以将66转换为与B等价的ASCII int ascii = 66; char character = (char) ascii; 我不明白的是,它是如何工作的?如果这是一份试卷,你会写什么 问题是,描述程序如何将其转换为“B”。char是函数吗?调用“char”=>“int” 并调用“int=>char” 在Java中,字符只是一个16位整数。将int(32位整数)强制转换为chars时,保留int的16个最低有效位,并丢弃高16位。这称为缩小转换。Java字符表示为

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

int ascii = 66;
char character = (char) ascii;
我不明白的是,它是如何工作的?如果这是一份试卷,你会写什么

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

调用“char”=>“int” 并调用“int=>char”

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

int ascii=66

整数值66被分配给
ascii

字符=(字符)ascii


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

@BrianRoach我知道:(我急于保存注释。我现在已经完成了。谢谢,那么将char(B)转换为66会扩大转换范围吗?你说的66?int或char是什么意思?请参阅上面的编辑,你能告诉我什么字符串qwe=“”;意思是?我知道它给了qwe一个值“”,但假设这是一个考试题,答案会是什么?qwe是用值“”初始化的?这是否足够好?
char
是一种类型,将66显示为“B”没有任何作用。事实上,显示
66
需要转换为两个字符54和54,分别打印为
6
6