JAVA中String、char和int类型转换

Java类型转换与数学运算
本文详细介绍了Java中不同数据类型的转换方法,包括int到String、String到int、String到char数组以及char数组到String的转换技巧。同时,文章还探讨了如何利用Math类进行舍入、取整、取绝对值等数学运算。

int -> String

int i=12345;
String s="";
第一种方法:s=i+""; //会产生两个String对象
第二种方法:s=String.valueOf(i);//直接使用String类的静态方法,只产生一个对象

第三种方法:String s = Integer.toString(i);

String s = "123";
try {
    int i = Integer.valueOf(s).intValue()
} catch (NumberFormatException e) {
    e.printStackTrace();
}

--------------------------------------------------------------------------

String -> int

s="12345";
int i;

//直接使用静态方法,不会产生多余的对象,但会抛出异常
第一种方法:i=Integer.parseInt(s);

//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象
第二种方法:i=Integer.valueOf(s).intValue();
 

String s= "123";
try {
    int i = Integer.parseInt(s);
} catch (NumberFormatException e) {
    e.printStackTrace();
}

-----------------------------------------------------------------------------

String -> char 将一个字符串String 转换成一个字符数组

String str = "abcde";
char[] ca=str.toCharArray();
-----------------------------------------------------------------------------
char -> String
String s=ca.toString();      //任何类型都可以采用toString()转换成String类型

 

运算符-取整,取绝对值,取余数

  1. 舍掉小数取整:Math.floor(3.5)=3
  2. 四舍五入取整:Math.rint(3.5)=4
  3. 进位取整:Math.ceil(3.1)=4 
  4. 取绝对值:Math.abs(-3.5)=3.5
  5. 取余数:A%B = 余数 
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
发出的红包

打赏作者

zhangvalue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值