一.Integer类的引入
- 为了对基本数据类型进行更多的操作以及运算,java针对这种情况,就提供了基本数据类型的包装类类型:
基本数据类型 | 包装类类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Char |
2. JDK5.0以后:对于包装类型有一个自动装箱和自动拆箱
Integer类型也会有这样的特性(常用)
public class Demo4 {
public static void main(String[] args) {
//自动装箱:int类型--->封装了Integer类型
Integer i = 100 ;
//i = i + 200 ;先是拆箱,将Integer转换int类型,做一个求和,完了又封装成Integer类型
i+= 200 ;
System.out.println("i:"+i);
}
}
二.Integer类的常用方法
Integer类的构造方法
public Integer(int value)
:构造一个新分配的 Integer 对象,它表示指定的 int 值public Integer(String s)
:构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值
注意:String类型的值必须使用数字,数字类型的报错,NumberFormatException:数字格式化异常
public class Demo10 {
public static void main(String[] args) {
//定义一个int类型的变量
int i = 100 ;
//第一种构造方法:使用Integer构造方法创建对象
Integer ii = new Integer(i) ;
System.out.println("ii:"+ii);
//第二种构造方法:String类型的值必须使用数字,数字类型的字符串
//报错:NumberFormatException:数字格式化异常
// String s = "abc" ;
String s = "100" ;
Integer iii = new Integer(s) ;
System.out.println("iii:"+iii);
}
}
结果:
ii:100
iii:100
int—>String类的转换
- 字符串拼接
- int —> Integer —> String
public static String toString(int i)
:返回一个表示指定整数的String对象
public class Demo1 {
public static void main(String[] args) {
//方式一:字符串拼接
//定义一个变量
int i = 100 ;
//定义一个空字符串,并拼接数组
String s = "" + i ;
System.out.println("s:"+s);
//方式二:int--->Integer--->String
Integer ii = new Integer(i);
//将包装类类型转换为字符串类型
String s2 = ii.toString();
System.out.println("s2:"+s2);
//方式三:静态方法直接用类名调用
String s3 = Integer.toString(i);
System.out.println("s3:"+s3);
}
}
结果:
s:100
s2:100
s3:100
String—>int类的转换
- String—>Integer—>int
public static int parseInt(String s)
:将字符串转换为int类型
public class Demo2 {
public static void main(String[] args) {
//方式一:String--->Integer--->int
//定义一个字符串
String s = "10";
Integer i = new Integer(s);
int a = i.intValue();
System.out.println("a:"+a);
//方式二:Integer类中的方法
int b = Integer.parseInt(s);
System.out.println("b:"+b);
}
}
结果:
a:10
b:10
十进制和其他进制的相互转换
十进制可以转换其他机制:二进制,8进制,16进制
public static String toBinaryString(int i)
:十进制转换为二进制
public static String toOctalString(int i)
:十进制转换为八进制
public static String toHexString(int i)
:十进制转换为十六进制十进制转换成其他进制:
public static String toString(int i, int radix)
- 将其他进制转换10进制:
public static Integer valueOf(String s, int radix)
(String s ,s必须是数字字符串)
public class Demo3 {
public static void main(String[] args) {
//100的二进制
System.out.println(Integer.toBinaryString(100));
//100的八进制
System.out.println(Integer.toOctalString(100));
//100的十六进制
System.out.println(Integer.toHexString(100));
System.out.println("--------------------------------");
//public static String toString(int i, int radix):十进制到其它进制
System.out.println(Integer.toString(100, 6));
System.out.println(Integer.toString(100, 7));
System.out.println(Integer.toString(100, 9));
System.out.println(Integer.toString(100, 14));
System.out.println("--------------------------------");
//把其他进制转换成十进制
// public static Integer valueOf(String s, int radix)
System.out.println(Integer.valueOf("100", 6));
System.out.println(Integer.valueOf("100", 7));
System.out.println(Integer.valueOf("100", 9));
System.out.println(Integer.valueOf("100", 14));
}
}
结果:
1100100
144
64
--------------------------------
244
202
121
72
--------------------------------
36
49
81
196