拆箱 装箱
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);