Integer
Integer是一个类,这个类在对象中包装了一个基本类型int的值。此外,该类提供了多个方法,能在
int
类型和 String
类型之间互相转换,还提供了处理 int
类型时非常有用的其他一些常量和方法。Integer类是int类型的包装类类型。 jdk1.5以后提供自动拆装箱,即可以自动将Integer与int进行转换。
构造方法
构造方法摘要 | |
---|---|
Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。 | |
Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。 |
例子:
public class Demo1 {
public static void main(String[] args) {
//Integer的构造方法
//初始化对象i为int类型的100
Integer i = new Integer(100);
//初始化对象is为String类型的100
Integer is =new Integer("100");
System.out.println(i + " " + is);
}
}
重要方法
进制转换方法:(注意:都是静态的,而且有参数)
static String
toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。static String
toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。static String
toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
字符串十进制解析(String转化为int)的方法:static int
parseInt(String s)
将字符串参数作为有符号的十进制整数进行解析。static int
parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
static Integer
valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。
int转化为String类型的转换方法: String
toString()
返回一个表示该 Integer
值的 String
对象。
static String
toString(int i)
返回一个表示指定整数的 String
对象。static String
toString(int i, int radix)
返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
public class Demo {
public static void main(String[] args) {
Integer num = 100;//自动拆箱为int ,自jdk1.5以后
//因为INteger提供了很多静态的方法,例如进制转换就是,所以可以直接转换,不用定义变量了
String x = Integer.toBinaryString(100);
System.out.println("B:"+x);
//这三种方法的返回值均为String类型
System.out.println("B:"+Integer.toBinaryString(100));
System.out.println("O:"+Integer.toOctalString(100));
System.out.println("H:"+Integer.toHexString(100));
//获取Integer的最值
System.out.println("MAX_VALUE:"+Integer.MAX_VALUE);
System.out.println("MIN_VALUE:"+Integer.MIN_VALUE);
/*
* 如何将int转换为String类型
* toString(int i) ;
* 将String转换为int类型
* static int parseInt(String s);
*/
String s100 = Integer.toString(100);
String str = "100";
int i100 = Integer.parseInt(str);
}
}
字段摘要
字段摘要 | |
---|---|
static int | MAX_VALUE 值为 231-1 的常量,它表示 int 类型能够表示的最大值。 |
static int | MIN_VALUE 值为 -231 的常量,它表示 int 类型能够表示的最小值。 |
static int | SIZE 用来以二进制补码形式表示 int 值的比特位数。 |
static Class<Integer> | TYPE 表示基本类型 int 的 Class 实例。 |
自动拆装箱的反编译例子:
public class IntegerDemo4 {
public static void main(String[] args) {
//创建Integer对象
// Integer i = new Integer(100) ;
Integer i = 100 ;
i += 200; //先拆箱(Integer-->int),后装箱(int值---->Integer)
//引用类型 += 基本类型
System.out.println("i:"+i);
/**
* 反编译代码:
*
* Integer i = Integer.valueOf(100);
i = Integer.valueOf(i.intValue() + 200);//(int类型的100 +200)
System.out.println((new StringBuilder("i:")).append(i).toString());
*/
}
}
Character
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。
构造方法摘要
构造方法摘要 | |
---|---|
Character(char value) 构造一个新分配的 Character 对象,用以表示指定的 char 值。 |
重要的方法摘要
Character类的判断功能:
public static boolean isDigit(char ch)确定指定字符是否为数字。
public static boolean isLowerCase(int ch): 确定是否是小写字母字符
public static boolean isUpperCase(int ch):确定是否大写字母字符
public static boolean isLowerCase(int ch): 确定是否是小写字母字符
public static boolean isUpperCase(int ch):确定是否大写字母字符
Character类的转换共功能:
public static int toLowerCase(int codePoint)
public static int toUpperCase(int codePoint)
public static int toUpperCase(int codePoint)
类判断功能&转换功能例子:
public class Demo2 {
public static void main(String[] args) {
char[] ch = {'H','3','c'};
System.out.println(Character.isDigit(ch[0]));//false
System.out.println(Character.isDigit(ch[1]));//true
System.out.println(Character.isUpperCase(ch[0]));//true
System.out.println(Character.isLowerCase(ch[2]));//true
//修改前
Print.PrintChar(ch);
ch[0] = Character.toLowerCase(ch[0]);//将H转换为h了
Print.PrintChar(ch);
ch[0] = Character.toUpperCase(ch[2]);//将c换成C交给ch[0]位置
Print.PrintChar(ch);
}
}
//遍历
class Print{
public static void PrintChar(char[] ch) {
for(int x= 0 ;x <ch.length;x++) {
System.out.print(ch[x]);
}
System.out.println();
}
}
重要的结尾:
Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下:
原始类型:boolean,char,byte,short,int,long,float,double
包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
顺便一提,Java中的基本数据类型只有以上8个,除了基本类型(primitive type),剩下的都是引用类型(reference type)。
所以最基本的一点区别是:Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。