how2j.cn

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



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



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

所有的基本类型,都有对应的类类型
比如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();
		
	}
}
数字封装类有
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 :

基本类型转封装类

edit
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 :

封装类转基本类型

edit
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();
		
	}
}
不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
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;
		
	}
}
不需要调用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的最大值,最小值

edit
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 :

练习-装箱拆箱

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

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

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

答案-装箱拆箱

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

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


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公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-07-12 2021-7-12-AM-10-00
白日梦家




2021-7-12-AM-10-00
import java.lang.*;
public class TestNumber {
   byte a = 12;
   Byte a1 = new Byte(a);
   Byte a2 = a;
   byte a3 = a1.byteValue();
   byte a4 = a2;

   short b = 21;
   Short b1 = new Short(b);
   Short b2 = b;
   short b3 = b1.shortValue();
   short b4 = b2;

   float c = 6.33f;
   Float c1 = new Float(c);
   Float c2 = c;
   float c3 = c1.floatValue();
   float c4 = c2;

   double d = 5.33;
   Double d1 = new Double(d);
   Double d2 = d;
   double d3 = d1.doubleValue();
   double d4 = d2;

   byte aa = 123;
   //可以把小的往大的放
   Integer aa1 = new Integer(aa);
   byte aa2 = aa1.byteValue();
   int bb = 1234;
   //不能把大的往小的放
//   Byte bb1 = new Byte(bb);

    Byte aa3 = aa;

    public static void main(String[] args) {
        System.out.println(Byte.MAX_VALUE);
    }
}

							


4 个答案

木木12
答案时间:2022-02-25
dyf137
答案时间:2022-01-21
Byte和Integer不能自动装箱,可以自动拆箱。

dyf137
答案时间:2022-01-21
Byte和Integer不能自动装箱,可以自动拆箱。

Ayuaa
答案时间:2021-08-13
package Basis.practice9.Study1; /*1. 对byte,short,float,double进行自动拆箱和自动装箱 *2. byte和Integer之间能否进行自动拆箱和自动装箱 *3. 通过Byte获取byte的最大值*/ public class Mycode { public static void main(String[] args) { System.out.println("byte max = "+Byte.MAX_VALUE);//byte max = 127,min = -128 System.out.println("short max = "+Short.MAX_VALUE);//byte max = 32767,min = -32768 byte b0 = 1; var B0 = new Byte(b0); byte b1 = B0;//自动拆箱 Byte B2 = b0;//自动装箱 short s0 = 1; var S0 = new Short(s0); short s1 = S0; short S1 = s0; int i0 = 1; var I0 = new Integer(i0); int i1 = I0; Integer I1 = i0; // Integer I2 = b1; //不能 } }



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-05-05 数字与字符串-装箱拆箱 -练习
莫諾




1.对byte,short,float,double进行自动拆箱和自动装箱 2.byte和Integer之间能否进行自动拆箱和自动装箱 3.通过Byte获取byte的最大值
对byte,short,float,double进行自动拆箱和自动装箱
package digit;
  
public class TestNumber {
  
    public static void main(String[] args) {
 		byte i = 5;  //short,float,double与int类型相同,亲测有效
		
		//基本类型转换成封装类型
		//不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
		Byte i2 = new Byte(i);
		//自动装箱
		Byte i1 = i;

		//自动拆箱
		//不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱
		//byte i4 = i2.byteValue();
		Byte it3 = i2; 
 
    }
}

byte和Integer之间能否进行自动拆箱和自动装箱
package digit;
  
public class TestNumber {
  
    public static void main(String[] args) {
 		byte i = 5;  
		
		//用byte类型封装成Integer类型是可行的,装箱和拆箱是可行的
		//基本类型转换成封装类型
		//不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
		int i2 = new Integer(i);
		//自动装箱
		int i1 = i;

		//自动拆箱
		//不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱
		//byte i4 = i2.byteValue();
		int it3 = i2; 		 
    }
}

另一段
package digit;
  
public class TestNumber {
  
    public static void main(String[] args) {
 		int i = 5;  
		
		//用int类型封装成Byte类型是不可行的,已进行编码验证
		//基本类型转换成封装类型
		//不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
		Byte i2 = new Byte(i);
		//自动装箱
		Byte i1 = i;

		//自动拆箱
		//不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱
		//byte i4 = i2.byteValue();
		Byte it3 = i2; 		 
    }
}

通过Byte获取byte的最大值
package digit;
  
public class TestNumber {
  
    public static void main(String[] args) {
 
        //byte的最大值
        System.out.println(Byte.MAX_VALUE);
          
    }
}

public class TestNumber {
  
    public static void main(String[] args) {
 		int i = 5;  
		
		//用int类型封装成Byte类型是不可行的,已进行编码验证
		//基本类型转换成封装类型
		//不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
		Byte i2 = new Byte(i);     //构造函数Byte(int)类型未定义
		//自动装箱
		Byte i1 = i;  //类型不匹配,不能从int转换为byte

		//自动拆箱
		//不需要调用Integer的intValue方法,通过=就自动转换成int类型,就叫拆箱
		//byte i4 = i2.byteValue();
		Byte it3 = i2; 		 
    }
}


4 个答案

人见人爱的法外狂徒张三
答案时间:2021-11-22
package digit; public class TestNumber { public static void main(String[] args) { int a =1; byte b = 2; short c = 3; float d = 4; double e = 5; //自动装箱 Integer A= a; Byte B = b; Short C = c; Float D = d; Double E =e; //自动拆箱 int a1 = A; byte b2 =B; short c1 = C; Float d1 = D; Double e1 = E; System.out.println(Byte.MIN_VALUE); } }

szy000178519
答案时间:2021-10-15
zlllll
答案时间:2021-07-04
XYyXxx
答案时间:2021-05-10
byte和Integer之间不能进行装箱



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-03-08 装箱和拆箱的应用方面是什么
2020-12-17 这样是省略写法吗
2020-11-21 请问大佬,我照着代码敲的,为什么不能执行呢?


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 24 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-数字与字符串-装箱拆箱 的提问

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

上传截图