在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,我应该怎么做?

原文由 user2640480 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 383
1 个回答
int a = 1;
char b = (char) a;
System.out.println(b);

将打印出带有 Unicode 代码点 1 的字符(标题开始字符,不可打印;请参阅此表: C0 Controls and Basic Latin ,与 ASCII 相同)

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

将打印出带有 Unicode 代码点 49 的字符(一个对应于“1”)

如果你想转换一个数字 (0-9),你可以加 48 并转换,或者像 Character.forDigit(a, 10);

如果要将 int 转换为 Unicode 代码点,您可以使用 Character.toChars(48) 例如。

原文由 jh314 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题