1、int类型和String类型的相互转换
A、int -- String
推荐用:
public static String valueOf(int i) 返回 int 参数的字符串表示形式。
B、String -- int
推荐用:
public static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析
1 public class IntegerDemo { 2 public static void main(String[] args) { 3 // int -- String 4 int number = 100; 5 // 方式1 创建个空字符串再进行拼接 6 String s1 = "" + number; 7 System.out.println("s1:" + s1); 8 // 方式2 public static String valueOf(int i) 返回 int 参数的字符串表示形式。 9 //不管number是什么类型,都可以转换成String类型,推荐用 10 String s2 = String.valueOf(number); 11 System.out.println("s2:" + s2); 12 // 方式3 13 // int -- Integer -- String 14 Integer i = new Integer(number); 15 String s3 = i.toString(); 16 System.out.println("s3:" + s3); 17 // 方式4 18 // public static String toString(int i) 19 String s4 = Integer.toString(number); 20 System.out.println("s4:" + s4); 21 System.out.println("-----------------"); 22 23 // String -- int 24 String s = "100"; 25 // 方式1 26 // String -- Integer -- int 27 Integer ii = new Integer(s); 28 // public int intValue() 29 int x = ii.intValue(); 30 System.out.println("x:" + x); 31 //方式2 public static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析 32 int y = Integer.parseInt(s); 33 System.out.println("y:"+y); 34 } 35 }
2、常用的基本进制转换
1、public static String toBinaryString(int i)
2、public static String toOctalString(int i)
3、public static String toHexString(int i)
A、十进制到其他进制
推荐用这个:
public static String toString(int i,int radix)
由这个我们也看到了进制的范围:2-36
为什么呢?0,...9,a...z 个数加起来就是36
B、其他进制到十进制
public static int parseInt(String s,int radix)
注意:字符串里的字符必须能够组成后面进制,如("123",2)就不行,因为3超出了2进制的范围
1 public class IntegerDemo { 2 public static void main(String[] args) { 3 // 十进制到二进制,八进制,十六进制 4 System.out.println(Integer.toBinaryString(100)); 5 System.out.println(Integer.toOctalString(100)); 6 System.out.println(Integer.toHexString(100)); 7 System.out.println("-------------------------"); 8 9 // 十进制到其他进制 进制的范围:2-36 10 System.out.println(Integer.toString(100, 10)); 11 System.out.println(Integer.toString(100, 2)); 12 System.out.println(Integer.toString(100, 8)); 13 System.out.println(Integer.toString(100, 16)); 14 System.out.println(Integer.toString(100, 5)); 15 System.out.println(Integer.toString(100, 7)); 16 System.out.println(Integer.toString(100, -7)); 17 System.out.println(Integer.toString(100, 70)); 18 System.out.println(Integer.toString(100, 1)); 19 System.out.println(Integer.toString(100, 17)); 20 System.out.println(Integer.toString(100, 32)); 21 System.out.println(Integer.toString(100, 37)); 22 System.out.println(Integer.toString(100, 36)); 23 System.out.println("-------------------------"); 24 25 //其他进制到十进制 26 System.out.println(Integer.parseInt("100", 10)); 27 System.out.println(Integer.parseInt("100", 2)); 28 System.out.println(Integer.parseInt("100", 8)); 29 System.out.println(Integer.parseInt("100", 16)); 30 System.out.println(Integer.parseInt("100", 23)); 31 //NumberFormatException 因为3超出了2进制的范围 32 //System.out.println(Integer.parseInt("123", 2)); 33 } 34 }