一尘不染

在Java中将int转换为char

java

下面是一个代码片段,

int a = 1;
char b = (char) a;
System.out.println(b);

但是我得到的是空输出。

int a = '1';
char b = (char) a;
System.out.println(b);

我将得到1作为输出。

有人可以解释吗?如果我想像第一个代码片段一样将int转换为char,该怎么办?


阅读 814

收藏
2020-03-14

共1个答案

一尘不染

int a = 1;
char b = (char) a;
System.out.println(b);

会打印出ascii值为1的字符(首字符,这是不可打印的)。

int a = '1';
char b = (char) a;
System.out.println(b);

将以ascii值49输出一个字符(一个对应于“ 1”)

如果要转换数字(0-9),则可以将数字加48并进行转换,例如Character.forDigit(a, 10);。

如果要转换int as asi的ascii值,可以使用Character.toChars(48)例如。

2020-03-14