
java 16进制如何输出
用户关注问题
我有一个整数变量,想以16进制格式输出,Java中有哪些方法可以实现?
使用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()方法。
想以0x开头且宽度固定的16进制格式打印数字,有什么方式?
利用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。
我有一个byte数组,需要以16进制形式输出整个数组内容,应该怎么做?
手动遍历字节数组并用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。