一、利用printf实现进制转换
printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
public class Practice {
@Test
public static void main(String[] args) {
int num = 1234;
System.out.printf("%#o ",1234);
System.out.printf("%#X",1234);
// System.out.printf("0%o ",1234);
// System.out.printf("0x%X",1234);
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/94d88d1547b3986f9a2021075ab91f81.png)
解析:
- “%d”:以十进制整数形式输出
- “%o”:以八进制形式输出(小写字母o)
- “%x”:以十六进制输出
- “%X”:以十六进制输出,并且将字母(A、B、C、D、E、F)换成大写
- “%e”:以科学计数法输出浮点数
- “%E”:以科学计数法输出浮点数,而且将e大写
- “%f”:以十进制浮点数输出,在"%f"之间加上".n"表示输出时保留小数点后面n位
二、利用Integer实现进制转换
public class Practice {
@Test
public static void main(String[] args) {
int num = 1234;
System.out.print("0" + Integer.toOctalString(i) + " ");
System.out.print("0x" + Integer.toHexString(num).toUpperCase());
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/94d88d1547b3986f9a2021075ab91f81.png)
解析:
- Integer.toBinaryString():实现十进制转换成二进制
- Integer.toOctalString():实现十进制转换成八进制
- Integer.toHexString():实现十进制转换成十六进制
- toUpperCase():转换为大写字母
- toLowerCase():转换为小写字母