原文: https://beginnersbook.com/2019/04/java-char-to-int-conversion/

在本教程中,我们将看到如何借助示例将char转换为int。将字符转换为整数等同于查找给定字符的 ASCII 值(这是一个整数)。

charint隐式类型转换

由于char是与int相比较小的数据类型,因此我们不需要在此处进行显式类型转换。将char值简单赋值给int变量就可以了,编译器会自动将char转换为int,这个过程称为隐式类型转换或类型提升。

在下面的示例中,我们将char值分配给整数变量,而不进行任何类型转换。编译器在这里自动进行转换,这仅适用于我们将较小的数据类型分配给较大的数据类型,否则我们必须进行显式类型转换。

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. char ch = 'A';
  4. char ch2 = 'Z';
  5. int num = ch;
  6. int num2 = ch2;
  7. System.out.println("ASCII value of char "+ch+ " is: "+num);
  8. System.out.println("ASCII value of char "+ch2+ " is: "+num2);
  9. }
  10. }

输出:

Java 程序:`char`到`int`的转换 - 图1

使用Character.getNumericValue()char转换为int

我们还可以使用Character.getNumericValue(char ch)方法将char转换为int。此方法接受char作为参数,并在转换后返回等效的int(ASCII)值。

这里我们有两个char变量chch2,我们使用Character.getNumericValue()方法将它们转换为整数numnum2

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. char ch = 'P';
  4. char ch2 = 'h';
  5. //conversion using Character.getNumericValue()
  6. int num = Character.getNumericValue(ch);
  7. int num2 = Character.getNumericValue(ch2);
  8. System.out.println("ASCII value of char "+ch+ " is: "+num);
  9. System.out.println("ASCII value of char "+ch2+ " is: "+num2);
  10. }
  11. }

输出:

Java 程序:`char`到`int`的转换 - 图2

使用Integer.parseInt()方法将char转换为int

这里我们使用Integer.parseInt(String)方法将给定的char转换为int。由于此方法接受字符串参数,因此我们使用String.valueOf()方法将char转换为String,然后将转换后的值传递给方法。

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. char ch = '9';
  4. /* Since parseInt() method of Integer class accepts
  5. * String argument only, we must need to convert
  6. * the char to String first using the String.valueOf()
  7. * method and then we pass the String to the parseInt()
  8. * method to convert the char to int
  9. */
  10. int num = Integer.parseInt(String.valueOf(ch));
  11. System.out.println(num);
  12. }
  13. }

输出:

Java 程序:`char`到`int`的转换 - 图3