java中进制转化只需要记住这两个方法,后续再遇到进制转换的问题,轻松破解!
进制转换的核心就是:
其他进制---》十进制---》其他进制
1、其他进制转成十进制
valueOf() 方法
该方法有以下几种语法格式:
static Integer valueOf(int i) static Integer valueOf(String s) static Integer valueOf(String s, int radix)
参数
-
i -- Integer 对象的整数。
-
s -- Integer 对象的字符串。
-
radix --在解析字符串 s 时使用的进制数,用于指定使用的进制数。
返回值
-
Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。
-
Integer valueOf(String s):返回保存指定的 String 的值的 Integer 对象。
-
Integer valueOf(String s, int radix): 返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
例子
public static void main(String[] args) { System.out.println(Integer.valueOf("25",16)); // 16进制的25转成10进制的值 System.out.println(Integer.valueOf("25",8)); // 8进制的25转成10进制的值 System.out.println(Integer.valueOf("25",10)); // 10进制的25转成10进制的值 }
// 输出结果
37
21
25
或者使用Integer.parseInt()方法
public static void main(String[] args) { System.out.println(Integer.parseInt("25",16)); System.out.println(Integer.parseInt("25",8)); System.out.println(Integer.parseInt("25",10)); }
2、十进制转成其他进制
valueOf() 方法
该方法有以下几种语法格式:
String toString() static String toString(int i)
参数
-
i -- 要转换的整数。
返回值
-
toString(): 返回表示 Integer 值的 String 对象。
-
toString(int i): 返回表示指定 int 的 String 对象。
例子
public static void main(String[] args) { System.out.println(Integer.toString(25,2)); // 将10进制的25转成2进制的值 System.out.println(Integer.toString(25,8)); // 将10进制的25转成8进制的值 System.out.println(Integer.toString(25,16)); // 将10进制的25转成16进制的值 System.out.println(Integer.toString(25,12)); // 将10进制的25转成12进制的值 }
或者使用常用的转进制的方法
public static void main(String[] args) { System.out.println(Integer.toBinaryString(25)); // 将10进制的25转成2进制的值 System.out.println(Integer.toOctalString(25)); // 将10进制的25转成8进制的值 System.out.println(Integer.toHexString(25)); // 将10进制的25转成16进制的值 }
综合上面这个两种方法,我们可以简单写一个方法,将任意进制i的字符串s转成指定进制e的结果
// 将任意进制的字符串转成目标进制的字符串 public static String toRadixEvery(String s,int i,int e){ Integer tem=Integer.valueOf(s,i); // 将i进制的字符串转成10进制的整数 return Integer.toString(tem,e); // 将10进制的tem转成e进制 // return Integer.toString(Integer.valueOf(s,i),e); }
例子:
public static void main(String[] args) { System.out.println(toRadixEvery("19",16,8)); } // 16进制的19转成8进制的值为31
标签:25,搞定,java,进制,10,--,println,Integer,String From: https://www.cnblogs.com/gchenghu/p/16992383.html