public class Test {
/**
* 01.所有的包装类 都有将对应的基本数据类型作为参数 来构造自己的实例
*/
public void test1(){
Byte b=new Byte((byte) 1);
Short s=new Short((short) 1);
Integer i=new Integer(1);
Long l=new Long(1);
Float f=new Float(1.0);
Double d=new Double(5.2);
Character c=new Character('1');//char的数值取值范围0-65535
Character c2=new Character((char) 50);
Boolean bo=new Boolean(true);
/**
* 01.Float有三种实例化的方法 参数分别是 double float 和String
* 02.除了Character以外的7中包装类都有将String作为参数 来构建自己的实例
*
*/
}
/**
* 六种数值类型的包装类都继承课Number
* 所以在用String作为参数来创建自己实例的时候,
* 如果参数不能转换成数值 则抛出NumborFormatExcption
*/
public static void test2(){
Byte b=new Byte("1");
Short s=new Short("1");
Integer i=new Integer("1");
Long l=new Long("1");
Float f=new Float("1");
Double d=new Double("1");
//Character c=new Character("1");编译报错
Boolean bo=new Boolean("1");//除了大小写的true 返回true,其余全返回false
Boolean bo1=new Boolean("true");
System.out.println(bo);
System.out.println(bo1);
}
public static void main(String[] args) {
test2();
}
/**
* 除了Character以外的7中包装类都有parseXXX(String s)
* 比如说Byte b=new Byte("1");
* b.parseByte(String)
* 001.四种整形对应的包装类都是parseXXX(String s,int radix)radix进制转换
* 002.其他的四种都没有parseXXX(String s,int radix)
* 003.Character压根没有parseXXX
*/
public void test03(){
Byte b=new Byte("1");
Short s=new Short("1");
Integer i=new Integer("1");
Long l=new Long("1");
Float f=new Float("1");
Double d=new Double("1");
Character c=new Character('1');//没有parseXXX
Boolean bo1=new Boolean("true");
}
/**
* 04.进制转换 需要学习 位运算
*/
public void test04(){
System.out.println("2进制的10对应的数据"+Integer.toBinaryString(10));
System.out.println("8进制的10对应的数据"+Integer.toHexString(10));
System.out.println("16进制的10对应的数据"+Integer.toOctalString(10));
}
/**
* 05.valueOf
* 把基本数据类型转换成对应的包装类===》装箱
* 除了Character没有参数String类型的方法
*
* xxxValue 8种保证类型都有
* 把xxx类型转换成对应的基本数据类型===》拆箱
*
*/
public void test05(){
int num=5;
Integer i=Integer.valueOf(num);//装箱
num=i.intValue();//拆箱
}
/**
* 06.经典的面试题
* 因为Integer.valueOf()会缓存-128到127之间的数据
* 如果我们的数字在这个区间,不会去创建新的对象,而是从缓存池中获取!
* 否则级new Integer();
*/
public void test06(){
int num1=127;
int num2=127;
System.out.println(num1==num2);//true
Integer a1=127;
Integer a2=127;
System.out.println(a1==a2);//false
Integer a=127;
Integer b=127;
System.out.println(a==b);//true
Integer c=128;
Integer d=128;
System.out.println(c==d);//false
}
public void test07(){
System.out.println("1"+1+1);//111
System.out.println(1+1+"1"+1);//211
}
转载于:https://www.cnblogs.com/WillimTUrner/p/8108828.html