Java - 将 int 转换为 char 时出现问题

标签 java casting char int

我对从 int 到 char 数据类型的转换有点困惑,这就是我所拥有的;

int k = 3;
System.out.println((char)k + " " + k)

输出应该是

3 3

但是,我得到了这个

 3

有人可以向我解释一下为什么会发生这种情况吗?

最佳答案

char“3”的数值不是 3。它的数值是 51。

这将打印 3:

int k = 51;
System.out.println((char)k);

数值为 3 的 char 是不可见字符。

如果要将单个数字int转换为对应的char,可以这样写

int k = 3;
char three = (char)('0' + k);
System.out.println(three);

关于Java - 将 int 转换为 char 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53096607/

相关文章:

java - 如何使用 Maven 设置 Liquibase?

java - 如何向数据库添加字段并连接到代码

c - 将字符串解析为 int 数组 - 收到警告 "makes pointer from integer without a cast"

C:二分查找 Char(名称)

c - 如何从字符串类型行中提取char类型元素并添加到c中的列表中

java - 获取正确的搜索结果页码 - Selenium Java

java - 使用 Spring 和 AspectJ 在类上定位基于注释的方面

将字符串转换为 long long C?

Java 动态类转换

C var 定义,char 限制是字节还是位?