杰瑞科技汇

Java char转int的具体方法是什么?

在 Java 中,将 char 类型转换为 int 类型非常直接,因为 char 本质上是一个无符号的 16 位整数(Unicode 字符),以下是几种常见的方法:

Java char转int的具体方法是什么?-图1
(图片来源网络,侵删)

方法 1:直接强制类型转换(最常用)

char 可以直接通过 (int) 强制转换为 int,得到的是字符的 Unicode 码点值。

char ch = 'A';
int codePoint = (int) ch; // 转换为 Unicode 码点
System.out.println(codePoint); // 输出: 65('A' 的 Unicode 码点)

方法 2:使用 Character.getNumericValue()

如果字符是数字(如 '0''1'),可以用此方法获取其对应的整数值('0'0)。

char digit = '5';
int num = Character.getNumericValue(digit); // 返回 5
System.out.println(num); // 输出: 5

注意

  • 对于非数字字符(如 'A'),此方法返回 -1。
  • 对于 Unicode 数字(如 ,对应梵文数字 1),也能正确转换。

方法 3:使用 Character.digit()

getNumericValue() 类似,但可以指定进制(如 10 进制)。

Java char转int的具体方法是什么?-图2
(图片来源网络,侵删)
char digit = '9';
int num = Character.digit(digit, 10); // 10 进制下的数字
System.out.println(num); // 输出: 9

注意

  • 如果字符不是指定进制的有效数字,返回 -1。

方法 4:通过 ASCII/Unicode 值计算

如果字符是数字(如 '0''9'),可以通过减去 '0' 的码点得到实际数值。

char ch = '7';
int num = ch - '0'; // '0' 的码点是 48,'7' 是 55,55 - 48 = 7
System.out.println(num); // 输出: 7

适用场景

  • 仅适用于数字字符('0'-'9'),其他字符会得到错误结果。

方法 适用场景 示例
(int) ch 获取字符的 Unicode 码点 (int) 'A'65
Character.getNumericValue(ch) 获取字符的数字值(支持 Unicode 数字) getNumericValue('१')1
Character.digit(ch, radix) 按指定进制获取数字值 digit('A', 16)10(十六进制)
ch - '0' 快速转换数字字符(仅 '0'-'9') '7' - '0'7

根据需求选择合适的方法:

Java char转int的具体方法是什么?-图3
(图片来源网络,侵删)
  • 需要字符的 Unicode 码点 → 强制转换
  • 需要字符代表的数字值 → getNumericValuedigit
  • 确保是数字字符且需高效计算 → '0'
分享:
扫描分享到社交APP
上一篇
下一篇