zoukankan      html  css  js  c++  java
  • Java自学-数字与字符串 装箱和拆箱

    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的子类
    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);
             
        }
    }
    
  • 相关阅读:
    关于项目中的已发现的难点
    怎样与用户有效地沟通以获取用户的真实需求?
    面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。
    当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?
    第二次作业
    第一次作业
    第二次博客作业
    第一次博客作业
    第二次博客作业
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/jeddzd/p/11596399.html
Copyright © 2011-2022 走看看