java 16进制如何输出

java 16进制如何输出

作者:Rhett Bai发布时间:2026-02-05阅读时长:0 分钟阅读次数:2

用户关注问题

Q
如何在Java中将整数转换为16进制字符串?

我有一个整数变量,想以16进制格式输出,Java中有哪些方法可以实现?

A

使用Integer.toHexString方法转换整数为16进制字符串

可以使用Java内置的Integer.toHexString(int i)方法,将整数转换为对应的16进制字符串。例如:

int num = 255;
String hexStr = Integer.toHexString(num);
System.out.println(hexStr); // 输出 'ff'

这个方法会返回小写的16进制格式,如果需要大写可以用String.toUpperCase()方法。

Q
如何在Java中格式化输出16进制数,带有前缀和固定宽度?

想以0x开头且宽度固定的16进制格式打印数字,有什么方式?

A

利用String.format()方法结合格式化占位符输出16进制数

Java的String.format()支持格式化整数为16进制。示例:

int num = 42;
String hex = String.format("0x%04X", num);
System.out.println(hex); // 输出 '0x002A'

这里使用了%X表示大写16进制,04表示4位宽,不足则补0。

Q
怎么将字节数组转换成16进制表示的字符串?

我有一个byte数组,需要以16进制形式输出整个数组内容,应该怎么做?

A

手动遍历字节数组并用Integer.toHexString格式化每个字节

可以遍历byte数组,然后对每个字节进行格式化,拼接成字符串。例如:

byte[] bytes = {10, 2, 15};
StringBuilder hexStr = new StringBuilder();
for (byte b : bytes) {
hexStr.append(String.format("%02X", b));
}
System.out.println(hexStr.toString()); // 输出 '0A020F'

这种方式确保每个字节对应2位16进制数,不足补0。