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()方法
通过使用类型转换
下面的示例说明了如何声明和初始化int变量。
int num1 = 24;
int是用于声明int变量的关键字,num1是保存值为24的变量的名称。
下面的示例说明了如何声明和初始化字符变量。我们将字符变量存储在单引号(‘ ’)中。
char ch1 = ‘S’;
char 是用来声明字符变量的关键字,ch1 是保存字符 'S' 的变量的名称。
class ‘Character’的forDigit()方法根据给定的RADIX值返回指定数字的字符。十进制的RADIX值为10,十六进制的RADIX值为16,二进制的RADIX值为2。
类‘Character’在‘java.lang’包中可用。
我们还将在程序中使用getClass().getSimpleName()方法来检查将整数变量转换为字符后的数据类型。
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'作为输出。最后,我们检查了数据的类型。
当我们将一个数据类型转换为另一个数据类型时,我们称之为类型转换。在Java中有两种类型的类型转换:显式和隐式。在隐式类型转换中,较低的数据类型会被编译器自动转换为任何其他较高的数据类型,并且在转换过程中没有丢失数据的风险。
当我们将一个高数据类型强制转换为较低的数据类型时,这被称为显式类型转换,需要手动完成。在这种情况下,存在数据丢失的风险,因为较低的数据类型的范围小于较高的数据类型,这是手动完成的主要原因。
在我们的程序中,我们将使用显式类型转换,因为整数范围高于字符。
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值。
当我们在整数变量中添加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的方法。大多数情况下,我们使用显式类型转换来进行这种类型的转换,因为它易于使用和理解。
以上是Java程序实现将整数转换为字符的功能的详细内容。更多信息请关注PHP中文网其他相关文章!