24-1.Java中的integer类(一)

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

整数类型引用类型(默认值都是Null)
byteByte
shortShort
intInteger
longLong
浮点类型
floatFloat
doubleDouble
字符类型
charCharacter
布尔类型
booleanBoolean

需要基本类型和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);
         */
    }
}

5.int和String类型之间如何转换 


 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值