Java中基本类型的装箱和拆箱

步骤 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(); }
}

步骤 2 : Number类

数字封装类有

Byte,Short,Integer,Long,Float,Double

这些类都是抽象类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); }
}

步骤 4 : 封装类转基本类型

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; }
}

步骤 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; }
}

步骤 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); }
}

练习装箱拆箱

  1. 对byte,short,float,double进行自动拆箱和自动装箱

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

  3. 通过Byte获取byte的最大值

答案

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); }
}

Java自学-数字与字符串 装箱和拆箱的更多相关文章

  1. Java学习笔记之——自动装箱与拆箱

    自动装箱与拆箱 基本类型与引用类型的互相转换 1. 基本类型对应的包装类 byte    short       char      int       long    flaot    double ...

  2. java和c#中的装箱和拆箱操作

    c#装箱和拆箱 装箱:整体上来说,装箱是将值类型转换成引用类型,比如将Vector3转换成Object类型. 具体而言: 1)在托管堆中为值类型分配内存.除了原始的数值以外还应该有指向该数值的引用. ...

  3. Java包装类,基本的装箱与拆箱

    我的博客 何为包装类 将原始类型和包装类分开以保持简单.当需要一个适合像面向对象编程的类型时就需要包装类.当希望数据类型变得简单时就使用原始类型. 原始类型不能为null,但包装类可以为null.包装 ...

  4. Java自学-数字与字符串 字符

    Java中的字符 示例 1 : 保存一个字符的时候使用char package character; public class TestChar { public static void main(S ...

  5. Java自学-数字与字符串 字符串转换

    Java中把数字转换为字符串,字符串转换为数字 步骤 1 : 数字转字符串 方法1: 使用String类的静态方法valueOf 方法2: 先把基本类型装箱为对象,然后调用对象的toString pa ...

  6. Java自学-数字与字符串 字符串

    Java中的字符串String 示例 1 : 创建字符串 字符串即字符的组合,在Java中,字符串是一个类,所以我们见到的字符串都是对象 常见创建字符串手段: 每当有一个字面值出现的时候,虚拟机就会创 ...

  7. Java自学-数字与字符串 格式化输出

    Java 使用printf或format 进行格式化输出 步骤 1 : 格式化输出 如果不使用格式化输出,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐 使用格式化输出,就可以简洁明了 %s ...

  8. Java自学-数字与字符串 MyStringBuffer

    自己开发一个Java StringBuffer 根据接口IStringBuffer ,自己做一个MyStringBuffer 步骤 1 : IStringBuffer接口 package charac ...

  9. Java自学-数字与字符串 StringBuffer

    Java StringBuffer常见方法 StringBuffer是可变长的字符串 示例 1 : 追加 删除 插入 反转 append追加 delete 删除 insert 插入 reverse 反 ...

随机推荐

  1. HLOJ1366 Candy Box 动态规划(0-1背包改)

    题目描述: 给出N个盒子(N<=100),每个盒子有一定数量的糖果(每个盒子的糖果数<=100),现在有q次查询,每次查询给出两个数k,m,问的是,如果从N个盒子中最多打开k个盒子(意思是 ...

  2. ie和谷歌的兼容性问题

    1.表单的归类 ie下的表单元素在设置了disabled禁用属性之后,在ie下点击,仍然会有焦点.谷歌这是正常的没有焦点 解决方法:给表单元素设置增加属性 unselectable='on'  即可.

  3. wordpress列表页如果文章没有缩略图就显示默认图片

    有时我们在设计wordpress模板时需要考虑是否有特色图,在分类页上如果一些文章有缩略图一些没有那就有点参差不齐不美观,有没办法设置如果没有文章缩略图则自动显示默认图呢?可以的,随ytkah一起来看 ...

  4. WeUI教程/第三方扩展及其他UI框架对比

    WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一.包含button.cell.dialog. progress. toa ...

  5. webpack 的安装与使用

    这里使用webpack4.41.2 为例 一.安装webpack 1.本地安装,安装最新版本或特定版本 npm install --save-dev webpack npm install --sav ...

  6. zzulioj - 2558 数字的差值

    首先感谢抱抱熊dalao的题解,提供了一种比较简单的思路.[抱抱熊dalao的题解](https://note.youdao.com/ynoteshare1/index.html?id=52f087d ...

  7. dos下编辑过sh脚本后无法运行

    情景: 同样的的脚本,在不同的机器下运行有的可以成功,有的运行失败, 前提:sh脚本windos下编辑过. 脚本在windows上修改之后,在每行尾部多了个 ^M,导致sh脚本在执行的时候可能shba ...

  8. ESA2GJK1DH1K基础篇: 购买云服务器

    我选择的是购买阿里云的服务器 如果是学生,可以选择 因为我用学生账户买过了,所以过程没法写了,下面我就写不用学生账户买的过程,其实应该配置过程和学生买差不多 选择购买的配置 选择系统 不需要配置直接下 ...

  9. 踩iviewui中Tabs 标签页数据绑定坑

    今天小颖要实现点击Tabs 标签页中每个标签,并动态获取当前点击的标签值. 一句话说不清楚,那就看动态图吧 小颖一开始看官网写的代码是: <template> <Tabs :valu ...

  10. 洛谷 p1047 校门外的树 线段树做法

    非常easy, 注意一下它是两端开始,也就是说0的位置也有一棵树就好了 我由于太弱了,一道红题交了4,5遍 由于树的砍了就没了,lazy标记最大就是1; 直接贴代码吧 #include<bits ...