包装类:
包装类是连接基本数据类型与引用数据类型的桥梁,因为Object类不覆盖基本数据类型,因此将基本数据类型封装成了包装类。包装类保存在 java.lang 包中。 --------------------------------- java.lang 包自动加载
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean ----------------------------------- 除Character类之外,其它七种包装类的方法使用相似
注意事项:
装箱:基本数据类型转成包装类 Integer.valueOf(int m)
拆箱:包装类转成基本数据类型 包装类对象.intValue() ----------------------------------- 从JDK5之后,实现了自动的装箱/拆箱
基本数据类型之间可以强制类型转换,除了布尔值类型
引用数据类型之间进行强制类型转换,需要具备子父类的关系。
Integer 类:
构造方法:public Integer(int value)
public Integer(String s)
成员方法:
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) ----- 十进制到其他进制 i: 要转的10进制 radix: 转成几进制(2-36)超过36返回原内容
public static int parseInt(String s,int radix) ----- 其他进制到十进制 s: 要转的数 radix: 该数是几进制的
public class IntegerDemo {
public static void main(String[] args) {
int a = 100;
//int -- 二进制的字符串
System.out.println(Integer.toBinaryString(a));//1100100
//int -- 十六进制的字符串
System.out.println(Integer.toHexString(a)); //64
//int -- 八进制的字符串
System.out.println(Integer.toOctalString(a)); //144
//int类型的 a ---- 36进制的字符串
System.out.println(Integer.toString(a,36)); //2s
//字符串"2s" ----- 36进制的int类型
System.out.println(Integer.parseInt("2s", 36)); //100
//常量最大值,其它包装类一样
System.out.println(Integer.MAX_VALUE); //2147483647
System.out.println(Integer.MIN_VALUE); //-2147483648
}
}
Integer 类中的成员方法:(包装类与字符串的转换)
int 转String:
12+""; -------------------------------------- 字符串与任意类型的数据相加都是字符串
String.valueOf(12); ----------------------- int : String
String 转int
Integer.valueOf("12"); ------------------- String : int
Integer.parseInt("12"); ------------------ String : Integer
new Integer("234"); --------------------- String : Integer (Integer类的构造方法)
注:包装类的使用方法都一样:需要注意的是字符型与字符串类型之间的转换。
public class WrapperClassDemo {
public static void main(String[] args) {
//手动装箱/拆箱
int a = 10;
Integer a1 = Integer.valueOf(a); //装箱
int b = a1.intValue(); //拆箱
//JDK5以后,自动装箱/拆箱
Integer a2 = a;
int b1 = a2;
/**
* int 与 String 类型的相互转换
* 基本数据类型之间可以强制类型转换,除了布尔值类型
* 引用数据类型之间进行强制类型转换,但需要具备子父类的关系。
*/
//int转String
int c = 100;
String s1 = c+"";
String s2 = String.valueOf(c);
//String转int : 不能强转,引用数据类型
String str = "大众化";
int e = Integer.parseInt(str); //String --- Int
System.out.println(e+1);
int f = Integer.valueOf(str); //String --- Integer,之后自动拆箱
System.out.println(f+1);
Integer g = new Integer(str); //String --- Integer,之后自动拆箱(使用构造方法)
System.out.println(g+1);
//其它包装类的使用方法均类似
double h = Double.parseDouble("12.8");
//字符型与字符串类型之间的转换。
char ch = "a".charAt(0);
}
}
Character类:
构造方法:public Character(char value)
成员方法:
public static boolean isUpperCase(char ch) ---------------- 是否是大写字母
public static boolean isLowerCase(char ch) ---------------- 是否是小写字母
public static boolean isDigit(char ch) ------------------------- 是否是数字
public static char toUpperCase(char ch) --------------------- 转成大写字母
public static char toLowerCase(char ch) -------------------- 转成小写字母
注意事项:更多成员方法详见API文档。
public class CharacterDemo {
public static void main(String[] args) {
String s = "a";
//如何将s转成char
char c = s.charAt(0);
//把字符串转成char数组:
char[] chs = s.toCharArray();
System.out.println(Character.isUpperCase('d'));//false
System.out.println(Character.isLowerCase('d'));//true
System.out.println(Character.isDigit('d'));//false
System.out.println(Character.toUpperCase('d'));//D
System.out.println(Character.toLowerCase('D'));//d
}
}