java中char与int类型数字的相互转换

博客主要介绍了信息技术领域中数据类型转换的相关内容,包括char类型转int类型数字的技巧和库函数使用,int类型数字转char类型的技巧和库函数使用,以及大小写转换的方法。

1、char类型转int类型数字

(1)技巧

// '1' -> 1
char c = '1';
int num = c - '0'; //c和'0'均会由ascii码转化为整型进行计算:49 - 48

(2)库函数

// '1' -> 1
char c = '1';
int num = Integer.valueOf(String.valueOf(c));

2、int类型数字转char类型

(1) 技巧

// 1 -> '1'
int num = 1;
char c = (char)(num + '0');  //'0'会转换为ascii码与整型num进行计算:48 + 1

(2) 库函数

// 1 -> '1'
int num = 1;
String str = String.valueOf(num);
char c = str.charAt(0);

3、大小写转换

//小写转大写
char C = 'a' - 32;
//大写转小写
char C = 'A' + 32;

 

 
 
 
Java中,将`int`类型转换为`char`数组通常涉及将整数值的各个字节或其字符表示形式存储到`char`数组中。具体方法取决于使用场景,例如是希望将整数的二进制表示转换为字符数组,还是将其数值转换为字符串形式并存储为字符数组。 以下是几种常见的实现方式: ### 将整数转换为字符数组(基于字符串) 这种方法适用于将整数转换为对应的字符串形式,并将其字符存储到`char`数组中。 ```java public class Main { public static void main(String[] args) { int number = 12345; String str = String.valueOf(number); char[] charArray = str.toCharArray(); // 输出字符数组内容 for (char c : charArray) { System.out.print(c + " "); } } } ``` ### 将整数的字节表示转换为字符数组 如果目标是将整数的二进制形式(例如其字节表示)转换为`char`数组,可以通过将`int`值转换为字节数组,再将字节数组映射到字符数组中实现。 ```java public class Main { public static void main(String[] args) { int value = 0x12345678; char[] charArray = new char[4]; // 将int拆分为4个字节并转换char for (int i = 0; i < 4; i++) { charArray[i] = (char) ((value >> (24 - i * 8)) & 0xFF); } // 输出字符数组内容 for (char c : charArray) { System.out.printf("%c ", c); } } } ``` ### 将整数转换为固定长度的字符数组 在某些情况下,可能需要将整数填充到固定长度的字符数组中,例如在处理协议数据时。 ```java public class Main { public static void main(String[] args) { int number = 789; int length = 5; char[] charArray = new char[length]; String str = String.format("%" + length + "d", number); // 右对齐填充 str.getChars(0, length, charArray, 0); // 输出字符数组内容 for (char c : charArray) { System.out.print(c + " "); } } } ``` ### 使用字符编码转换整数为字符数组 如果希望将整数的每个字节按照字符编码(如ISO-8859-1)转换为字符数组,可以使用`ByteBuffer`和`Charset`进行处理[^2]。 ```java import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; public class Main { public static void main(String[] args) { int value = 0x41424344; // 对应 ASCII 字符 'ABCD' ByteBuffer byteBuffer = ByteBuffer.allocate(4); // 将int写入ByteBuffer byteBuffer.putInt(value); byteBuffer.flip(); // 使用ISO-8859-1字符集转换为字符数组 Charset charset = Charset.forName("ISO-8859-1"); CharBuffer charBuffer = charset.decode(byteBuffer); char[] charArray = new char[charBuffer.remaining()]; charBuffer.get(charArray); // 输出字符数组内容 for (char c : charArray) { System.out.print(c + " "); } } } ``` ### 总结 以上方法涵盖了将Java中的`int`类型转换为`char`数组的多种方式,包括字符串转换、字节映射、固定长度填充以及字符编码转换等。实际应用中应根据具体需求选择合适的方法。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值