在Java中将int转换为char

下面是一个代码片段,


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,该怎么办?


白衣非少年
浏览 1923回答 3
3回答

MYYA

int a = 1;char b = (char) a;System.out.println(b);会打印出ascii值为1的char(首字符,这是不可打印的)。int a = '1';char b = (char) a;System.out.println(b);将打印出具有ascii值49的字符(一个对应于'1'的字符)如果要转换数字(0-9),则可以将数字加48并进行转换,例如Character.forDigit(a, 10);。如果要转换intas ascii值,则可以使用Character.toChars(48)例如。

慕姐4208626

似乎您正在寻找Character.forDigit方法:final int RADIX = 10;int i = 4;char ch = Character.forDigit(i, RADIX);System.out.println(ch); // Prints '4'还有一种方法可以将字符从char转换回int:int i2 = Character.digit(ch, RADIX);System.out.println(i2); // Prints '4'请注意,通过更改,RADIX您还可以支持十六进制(基数为16)以及最大为36(或Character.MAX_RADIX称为36)的任何基数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java