2021-07-31

1.Integer:int类型的包装类类型(引用类型),包含了int类型的原始数据值

整数类型    引用类型(默认值都是Null)
byte    Byte
short    Short
int    Integer
long    Long
浮点类型    
float    Float
double    Double
字符类型    
char    Character
布尔类型    
boolean    Boolean
需要基本类型和String类型之间转换:需要中间桥梁(基本类型对应的包装类类型)

需求:进制的转换----就可以使用Integer静态功能

(1)public static String toBinaryString(int i):将整数---->二进制 的字符串

(2) public static String toOctalString(int i):将整数---->八进制的字符串

(3) public static String toHexString(int i):将整数---->十六进制数据

(4) public static final int MAX_VALUE:int的最大值

(5)public static final int MIN_VALUE:int的最小值

public class IntegerDemo {
    public static void main(String[] args) {
        System.out.println(Integer.toBinaryString(100));
        System.out.println(Integer.toOctalString(100));
        System.out.println(Integer.toHexString(100));
 
        System.out.println("----------------------");
        System.out.println(Integer.MIN_VALUE);//-2的31次方
        System.out.println(Integer.MAX_VALUE);//2的31次方-1
    }
}


2.Integer的构造方法: 

Integer(int value):可以将int类型保证为Integer类型

Integer(String s) throws NumberForamtException: 抛出一个数字格式化异常 

注意事项:  当前字符串如果不是能够解析的整数的,就会出现数字格式化异常,s必须为 数字字符串

public class IntegerDemo2 {
    public static void main(String[] args) {
 
        //创建Integer类对象
        int i = 100 ;
        Integer integer = new Integer(i) ;
        System.out.println(integer);
        System.out.println("---------------------");
        //创建一个字符串
        String s = "hello" ;
        Integer integer2 = new Integer(s) ;
        System.out.println(integer2);
    }
}


3.自动拆装箱:

基本类型---> 对应的包装类类型 (装箱)

 int---->Integer

 对应的包装类型---->基本类型 (拆箱)

 Integer--->int

public class IntegerDemo3 {
    public static void main(String[] args) {
 
        //创建Integer类对象
        int i = 100 ;
        Integer ii = new Integer(i) ;
        ii += 200 ;
        System.out.println("ii:"+ii);
        
    }
}

 4.将int---->String -------- Integer作为桥梁 --------String---->int

public class IntegerDemo4 {
    public static void main(String[] args) {
        int i = 50 ;
        String str = Integer.toString(i);
        System.out.println(str);
 
        System.out.println("------------------------");
 
        //方式2:int---->Integer---->public String toString()
        Integer ii = new Integer(i) ;
        String str2 = ii.toString(); //底层使用的方法public static String toString(int i)
        System.out.println(str2);
 
        System.out.println("----------------------------------");
 
        String s = "100" ;
        int result = Integer.parseInt(s);
        System.out.println(result);
 
        System.out.println("------------------------------------------");
 
        Integer integer = new Integer(s) ;
        int result2 = integer.intValue();
        System.out.println(result2);
 
    }
}

关于Integer范围的题(-128-127)

public class IntegerTest {
    public static void main(String[] args) {
 
        Integer i1 = new Integer(127) ;
        Integer i2 = new Integer(127) ;
        System.out.println(i1==i2);//false
        System.out.println(i1.equals(i2));//true
       System.out.println("----------------------------");
        Integer i3 = 127 ;//valueOf(127)  127  (-128~127)    //直接从内部缓存区中取出数据并么有重新创建对象
        Integer i4 = new Integer(127) ;
        System.out.println(i3== i4);//false
        System.out.println(i3.equals(i4));//true
        System.out.println("-----------------------------");
        Integer i5 = 128 ;  //128已经超出了范围 :new Integer(128)
        Integer i6 = new Integer(128) ;
        System.out.println(i5==i6);
        System.out.println(i5.equals(i6));
 
        System.out.println("-------------------------------");
        Integer i7 = 127 ;
        Integer i8 = 127 ;
        System.out.println(i7==i8);//true  IntegerCache:缓存区取出数据
        System.out.println(i7.equals(i8));//true
 
        System.out.println("-------------------------------");
        Integer i9 = 128 ;//  缓存区中范围:-128~127           return new Integer(128)
        Integer i10 = 128 ;
        System.out.println(i9==i10);//false
        System.out.println(i9.equals(i10));//true
 
      /* Integer i = 127 ;
        System.out.println(i);*/
 
        /**
         * 反编译工具查看:执行底层的valuOf()
         * Integer i = Integer.valueOf(127);
         *         System.out.println(i);
         */
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值