how2j.cn

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



5分3秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 封装类   
步骤 2 : Number类   
步骤 3 : 基本类型转封装类   
步骤 4 : 封装类转基本类型   
步骤 5 : 自动装箱   
步骤 6 : 自动拆箱   
步骤 7 : int的最大值,最小值   
步骤 8 : 练习-装箱拆箱   
步骤 9 : 答案-装箱拆箱   

步骤 1 :

封装类

所有的基本类型,都有对应的类类型
比如int对应的类是Integer
这种类就叫做封装类
package digit; public class TestNumber { public static void main(String[] args) { int i = 5; //把一个基本类型的变量,转换为Integer对象 Integer it = new Integer(i); //把一个Integer对象,转换为一个基本类型的int int i2 = it.intValue(); } }
package digit;

public class TestNumber {

	public static void main(String[] args) {
		int i = 5;
		
		//把一个基本类型的变量,转换为Integer对象 
		Integer it = new Integer(i);
		//把一个Integer对象,转换为一个基本类型的int
		int i2 = it.intValue();
		
	}
}
步骤 2 :

Number类

数字封装类有
Byte,Short,Integer,Long,Float,Double
这些类都是抽象类Number的子类
Number类
package digit; public class TestNumber { public static void main(String[] args) { int i = 5; Integer it = new Integer(i); //Integer是Number的子类,所以打印true System.out.println(it instanceof Number); } }
package digit;

public class TestNumber {

	public static void main(String[] args) {
		int i = 5;
		
		Integer it = new Integer(i);
		//Integer是Number的子类,所以打印true
		System.out.println(it instanceof Number);
	}
}
步骤 3 :

基本类型转封装类

package digit; public class TestNumber { public static void main(String[] args) { int i = 5; //基本类型转换成封装类型 Integer it = new Integer(i); } }
package digit;

public class TestNumber {

	public static void main(String[] args) {
		int i = 5;

		//基本类型转换成封装类型
		Integer it = new Integer(i);
		
	}
}
步骤 4 :

封装类转基本类型

package digit; public class TestNumber { public static void main(String[] args) { int i = 5; //基本类型转换成封装类型 Integer it = new Integer(i); //封装类型转换成基本类型 int i2 = it.intValue(); } }
package digit;

public class TestNumber {

	public static void main(String[] args) {
		int i = 5;

		//基本类型转换成封装类型
		Integer it = new Integer(i);
		
		//封装类型转换成基本类型
		int i2 = it.intValue();
		
	}
}
步骤 5 :

自动装箱

不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
package digit; public class TestNumber { public static void main(String[] args) { int i = 5; //基本类型转换成封装类型 Integer it = new Integer(i); //自动转换就叫装箱 Integer it2 = i; } }
package digit;

public class TestNumber {

	public static void main(String[] args) {
		int i = 5;

		//基本类型转换成封装类型
		Integer it = new Integer(i);
		
		//自动转换就叫装箱
		Integer it2 = i;
		
	}
}
步骤 6 :

自动拆箱

不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱
package digit; public class TestNumber { public static void main(String[] args) { int i = 5; Integer it = new Integer(i); //封装类型转换成基本类型 int i2 = it.intValue(); //自动转换就叫拆箱 int i3 = it; } }
package digit;
 
public class TestNumber {
 
    public static void main(String[] args) {
        int i = 5;
 
        Integer it = new Integer(i);
         
        //封装类型转换成基本类型
        int i2 = it.intValue();
        
        //自动转换就叫拆箱
        int i3 = it;
         
    }
}
步骤 7 :

int的最大值,最小值

int的最大值可以通过其对应的封装类Integer.MAX_VALUE获取
package digit; public class TestNumber { public static void main(String[] args) { //int的最大值 System.out.println(Integer.MAX_VALUE); //int的最小值 System.out.println(Integer.MIN_VALUE); } }
package digit;
 
public class TestNumber {
 
    public static void main(String[] args) {

    	//int的最大值 
    	System.out.println(Integer.MAX_VALUE);
    	//int的最小值    	
    	System.out.println(Integer.MIN_VALUE);
         
    }
}
步骤 8 :

练习-装箱拆箱

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
1. 对byte,short,float,double进行自动拆箱和自动装箱

2. byte和Integer之间能否进行自动拆箱和自动装箱

3. 通过Byte获取byte的最大值
步骤 9 :

答案-装箱拆箱

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

2分11秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


package digit; public class TestNumber { public static void main(String[] args) { // 1. 对byte,short,float,double进行自动拆箱和自动装箱 byte b = 1; short s = 2; float f = 3.14f; double d = 6.18; // 自动装箱 Byte b1 = b; Short s1 = s; Float f1 = f; Double d1 = d; // 自动拆箱 b = b1; s = s1; f = f1; d = d1; // 2. byte和Integer之间能否进行自动拆箱和自动装箱 Integer i1 = b; //不能把byte直接自动装箱成Integer b = new Integer(1); //也不能把Integer自动拆箱成 byte // 3. 通过Byte获取byte的最大值 System.out.println(Byte.MAX_VALUE); } }


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-12-10 装箱拆箱!
小孤心



public class TestNumber1 { public static void main(String[] args) { byte b=1; //Byte it=new Byte(i); //自动装箱 Byte itb=b; //byte ii=it.byteValue(); //自动拆箱 byte bb=itb; System.out.println(bb); System.out.println("-------------------"); short s=1; //Short its=new Short(s); //自动装箱 Short its=s; //Short ss=its.shortValue(); //自动拆箱 short ss=its; System.out.println(ss); System.out.println("-------------------"); float f=1.111f; //Float itf=new Float(f); //自动装箱 Float itf=f; //float ff=itf.floatValue(); //自动拆箱 float ff=itf; System.out.println(itf); System.out.println("-------------------"); double d=1; //Double itd=new Double(d); //自动装箱 Double itd=d; //double dd=itd.doubleValue(); //自动拆箱 double dd=itd; System.out.println(dd); System.out.println("-------------------"); //byte和Integer之间能否进行自动拆箱和自动装箱 byte by=1; int i=2; //Integer iti=by;//不可以 //Byte itby=i;//不可以 Byte itby=by; Integer iti=i; int ii=itby;//可以,byte可以自动拆箱为int //byte byby=iti;//不可以 System.out.println(ii); System.out.println("-------------------"); //byte的最大值 System.out.println("最大值: "+Byte.MAX_VALUE); //byte的最小值 System.out.println("最小值:"+Byte.MIN_VALUE); } }
public class TestNumber1 {
	public static void main(String[] args) {
		byte b=1;
		//Byte it=new Byte(i);
		//自动装箱
		Byte itb=b;
		//byte ii=it.byteValue();
		//自动拆箱
		byte bb=itb;
		System.out.println(bb);
		
		System.out.println("-------------------");
		short s=1;
		//Short its=new Short(s);
		//自动装箱
		Short its=s;
		//Short ss=its.shortValue();
		//自动拆箱
		short ss=its;
		System.out.println(ss);
		System.out.println("-------------------");
		
		float f=1.111f;
		//Float itf=new Float(f);
		//自动装箱
		Float itf=f;
		//float ff=itf.floatValue();
		//自动拆箱
		float ff=itf;
		System.out.println(itf);
		
		System.out.println("-------------------");
		double d=1;
		//Double itd=new Double(d);
		//自动装箱
		Double itd=d;
		//double dd=itd.doubleValue();
		//自动拆箱
		double dd=itd;
		System.out.println(dd);
		
		System.out.println("-------------------");
		//byte和Integer之间能否进行自动拆箱和自动装箱
		byte by=1;
		int  i=2;
		//Integer iti=by;//不可以
		//Byte itby=i;//不可以
		Byte itby=by;
		Integer iti=i;
		int  ii=itby;//可以,byte可以自动拆箱为int
		//byte  byby=iti;//不可以
		System.out.println(ii);
		
		System.out.println("-------------------");
		//byte的最大值
        System.out.println("最大值:  "+Byte.MAX_VALUE);
        //byte的最小值      
        System.out.println("最小值:"+Byte.MIN_VALUE);
		
	}
}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-11-21 装箱和拆箱 主要应用在什么地方呢???
bigbang0
package com.how2j.packageclass; public class TestNumber { public static void main(String[] args) { int i = 5; Integer it = new Integer(i); int i2 = it.intValue(); System.out.println(it); System.out.println(i2); System.out.println("*********************"); System.out.println(it instanceof Number); //基本类型转换成封装类型 Integer it2 = new Integer(i); //自动转换 叫装箱 Integer i3 = i; //封装类型转换成基本类型 int i4 = it2.intValue(); //自动拆箱 不需要通过Integer 的intValue方法 int i5 = it2; System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); byte b = 100; Byte bb = new Byte(b); System.out.println(bb); //自动装箱 Byte bb1 = b; //自动拆箱 byte b1 = bb; System.out.println(Byte.MAX_VALUE); System.out.println(Byte.MIN_VALUE); } }








答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-11-12 交作业
2018-09-17 交作业交作业交作业交作业交作业交作业交作业
2018-08-30 按在地上摩擦~
2018-08-29 int 可以吧Byte自动拆箱,其他都不行
2018-08-27 我们一起成长~
2018-05-13 交作业
2018-05-07 交作业
2018-03-07 提交作业啊.
2018-03-05 自动拆箱这个怎么解释
2017-12-12 经过后面的学习,我胡汉三回来写个小记
2017-12-04 作业提交
2017-10-11 只有把Byte 自动拆箱到int可以。
2016-11-01 可以直接把Byte拆箱到int耶
2016-05-12 直接输出Integer类型不行吗,为什么要转换为int类型呢




提问之前请登陆
关于 JAVA 基础-数字与字符串-装箱拆箱 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图