前言
本篇将讲解Java中JDK内置的进制转换以及在Java中,数据类型之间的转换机制和过程。
图片、部分源程序源自慕课网。
一、Java中JDK内置的进制转换
注:其中的‘其他进制转换成十进制’,还有其他方法,如下所示:
Integer.parseInt(“0101”, 2) // 二进制转换成十进制
Integer.parseInt(“376”, 8) // 八进制转换成十进制
Integer.parseInt(“FFFF”, 16) // 十六进制转换成十进制
将‘其他进制转换成十进制’有两种方法,其区别如下:
- Integer.valueOf(String s, int radix)
1)这个方法实际上是将以其他进制形式表示的字符串转换成Integer类型的包装类。
2)其后面可以加上‘.toString()’方法将其转换成字符串。
3)当然,就算没有加上‘.toString()’方法,java内置系统也会默认帮你转换。
4)因此在下面可以看到有加和没加‘.toString()’方法,输出的结果都一样。- Integer.parseInt(String s, int radix)
1)这个方法实际上是将以其他进制形式表示的字符串转换成int类型的数据。
2)其后面不允许加上‘.toString()’方法,因为转换后的数据仅仅是一个int类型的数据,并非对象。
3)因此也就不可能调用‘.toString()’方法了。
代码如下:
public class RadixMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 十进制转为其他进制
System.out.println(Integer.toBinaryString(5201314)); // 二进制
System.out.println(Integer.toHexString(5201314)); // 十六进制
System.out.println(Integer.toOctalString(5201314)); // 八进制
System.out.println("------------------这是一条分隔符-----------------");
// 其他进制转换为十进制
/**
* 注:在此可用两种方法将其他进制转换成十进制:
* 1、Integer.value