拆箱 装箱

2017-08-10  本文已影响0人  xiaoliman
package com.qf.demo2;
/**
 * 常用类
 * 
 * 不完全面向对象   基本数据类型
 *      八种  不能创建对象    没有 方法和属性
 * 
 * 
 * 装箱和拆箱
 * 把基本数据类型数据放到 箱子里  过程叫做装箱
 * 把基本数据类型数据从箱子里面拿出来的过程叫做拆箱
 * 
 * 8个类
 * 包装类
 * Integer      int          在一个箱子里面  给 每一个基本数据类型增加了功能
 * Byte         byte
 * Short        short
 * Long         long
 * Float        float
 * Double       double
 * Boolean      boolean
 * Character    char
 * 
 * 
 * String
 * 
 * Date     日期
 * Calendar  日历
 * SimpleDateFormat
 * 
 * 
 * System
 * Runtime
 * 
 * 
 * 
 * 装箱          构造方法
 *        valueOf  
 * 
 * 拆箱          XXXValue 
 * 
 * 
 * parseXXX 将  字符串转成   XXX 基本数据类型
 * (字符串只能包含数字)
 *
 */
public class Test {

    public static void main(String[] args) {
        int i = 6;
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
        
        System.out.println(Long.MAX_VALUE);
        
        //Integer.hashCode(value)
        
        // 将  数字放到integer对象中      装箱
        Integer integer = new Integer(67);
        System.out.println(integer);// 重写了   toString方法   打印的是内容
        
        Integer integer2 = new Integer("123");// 字符串中只包含数字  才不会包 NumberFormatException(数字格式化异常)
        System.out.println(integer2);
        
        
        byte b = integer.byteValue();
        System.out.println(b);
        short s = integer.shortValue();
        System.out.println(s);
        // 将基本数据类型  数据 从箱子里面 拆出来  
        int i2 = integer.intValue();
        System.out.println(i2);
        integer.longValue();
        integer.floatValue();
        integer.doubleValue();
        
        
        /**
         * 拆箱
         * XXXValue()
         * 
         */
        
        //比较大小   负数   0  正数
        // 两个参数 相同的情况下      0 
        // 4  5 负数  第一个参数比第二个参数小   返回负数
        //         第一个参数比第二个参数  大    返回正数
        int a= Integer.compare(5, 4);
        System.out.println(a);
        
        Integer i3 = new Integer(5);
        Integer i4 = new Integer(5);
        /**
         * 调用者  和参数相比   比参数大   返回正数
         * 调用者 比参数小   返回负数
         * 调用者 和参数相同 返回 0
         */
        int num = i3.compareTo(i4);
        System.out.println(num);
        
        System.out.println(i3.equals(i4));
        
        // 将字符串  解析成 int 数字   十进制 (字符串中只能包含数字)
        int w= Integer.parseInt("345");
        System.out.println(w);
        
        System.out.println(Integer.toBinaryString(4));// 将十进制转成二进制
        System.out.println(Integer.toHexString(16));// 将十进制转成  十六进制
        System.out.println(Integer.toOctalString(9));// 将十进制转成八进制
        
        System.out.println(i3.toString());// 将Integer对象转成 字符串
        System.out.println(Integer.toString(9));//将 数字转成 字符串
        
        
        
        Integer integer3 = Integer.valueOf(6);
        System.out.println(integer3);
    }
}

注意:
// jdk1.5 以后 自动装箱 自动拆箱
Integer integer = 12; // 隐含了装箱
System.out.println(integer);
int w = 5+3+integer;// 隐含了一个拆箱 数字
System.out.println(w);

上一篇下一篇

猜你喜欢

热点阅读