Java 整数转字符

Java 整数转字符

Java有八种基本数据类型:byte、short、int、long、char、float、double和boolean。int是用于存储整数的32位有符号数据类型。其范围为-2,147,483,648到2,147,483,647。char是用于存储16位无符号Unicode字符的数据类型。

本文将讨论几种int转char的方法:

  • 通过添加’0′

  • 通过使用forDigit()方法

  • 通过使用类型转换

示例1

以下示例说明如何声明和初始化int变量。

int num1 = 24;

int 是一个关键字,用于声明int类型的变量,num1是一个存储值为24的变量的名称。

示例2

下面的示例说明了如何声明和初始化字符变量。我们将字符变量存储在单引号(‘ ’)中。

char ch1 = ‘S’;

char 是用来声明字符变量的关键字,ch1是持有字符‘S’的变量名称。

方法1:使用forDigit()方法

‘Character’类的 forDigit() 方法根据给定的基数值返回指定数字的字符。十进制的基数值为10,十六进制为16,二进制为2。

‘Character’类位于’java.lang’包中。

我们还将在程序中使用 getClass().getSimpleName() 方法来检查转换为字符后给定int变量的数据类型。

forDigit()的语法

char char_variable = Character.forDigit(var_to_convert, radix);

char_variable − 在转换后存储值的字符变量的名称。

Character 是类名,并与两个参数一起使用的 forDigit() 方法。

var_to_convert 是将要转换的变量, radix 作为转换的基数。

示例

import java.lang.*;
public class Conversion {
   public static void main(String[] args) {
      int rad = 16;
      int n1 = 8;
      int n2 = 11;
      // Conversion of int to char
      char ch1 = Character.forDigit(n1, rad );
      char ch2 = Character.forDigit(n2, rad );
      System.out.println("ch1: " + ch1);
      System.out.println("ch2: " + ch2);
      // to check the datatype
      System.out.println("type of ch1: " + ((Object)ch1).getClass().getSimpleName());
      System.out.println("type of ch2: " + ((Object)ch2).getClass().getSimpleName());
   }
}

输出

ch1: 8
ch2: b
type of ch1: Character
type of ch2: Character

在上述代码中,我们创建了三个整型变量。’ch1’和’ch2’将存储转换后的变量。我们使用基数值16,因此指定的变量已经转换成了十六进制数系统(0到9,之后是A到F)。十六进制系统中第11个位置的值是’b’。因此,我们得到了8和’b’作为输出。最后,我们检查了数据类型。

方法2:使用类型转换

当我们将一个数据类型转换为另一个数据类型时,称之为类型转换。在Java中有两种类型的类型转换:显式和隐式。在隐式类型转换中,较低的数据类型会被编译器自动转换为任何其他较高的数据类型,并且在转换过程中不会丢失数据的风险。 当我们将较高的数据类型强制转换为较低的数据类型时,称之为显式类型转换,这是手动完成的。在显式类型转换中,存在数据丢失的风险,因为较低的数据类型的范围比较高的数据类型小,这是手动执行的主要原因。 在我们的程序中,我们将使用显式类型转换,因为整数的范围比字符大。 forDigit()的语法如下:

char_variable = (char) var_to_convert;

示例

public class Conversion {
   public static void main(String[] args) {
      int n1 = 97;
      int n2 = 65;
      // Typecasting of int to char variable
      char ch1 = (char)n1;
      char ch2 = (char)n2;
      System.out.println("ch1: " + ch1);
      System.out.println("ch2: " + ch2);
   }
}

输出

ch1: a
ch2: A

在上面的代码中,我们声明并初始化了两个整数变量’n1’和’n2’。’ch1’和’ch2’将存储转换后的变量。我们在输出中得到了’a’和’A’,因为它们是65和97的ASCII值。

方法3:通过添加’0′

当我们在整数变量中添加0并进行类型转换时,实际上会返回该数字的ASCII值。0的ASCII值为48,所以如果我们在0中加上65,它将变成113,而113的ASCII值是q。

示例

public class Conversion {
   public static void main(String[] args) {
      int n1 = 65;
      int n2 = 66;
      // Conversion of int to char
      char ch1 = (char)(n1 + '0');
      char ch2 = (char)(n2 + '0');
      System.out.println("ch1: " + ch1);
      System.out.println("ch2: " + ch2);
      System.out.println("type of ch1: " + ((Object)ch1).getClass().getSimpleName());
      System.out.println("type of ch2: " + ((Object)ch2).getClass().getSimpleName());
   }
}

输出

ch1: q
ch2: r
type of ch1: Character
type of ch2: Character

结论

在本文中,我们讨论了三种int到char的转换方法。大多数情况下,我们使用显式类型转换来进行这种转换,因为它简单易懂。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程