Java包装类

1.为什么要使用包装类?

为了使得基本数据类型的变量具备引用数据类型变量的相关特征(比如:封装性、继承性、多态性),我们给各个基本数据类型的变量都提供了对应的包装类。

2。(掌握基本数据类型对应的包装类类型

number

byte -> Byte

short -> Short

int -> Integer

long -> Long

float -> Float

double ->Double

char -> Character

boolean -> Boolean

Java包装类_第1张图片

3.掌握基本数据类型与 包装类之间的转换。

3.1 为什么需要转换

一方面,在有些场景下,需要使用基本数据类型对应的包装类的对象。此时就需要将基本数据类型的变量转换为包装类的对象。比如:ArrayList的add(object obj);0bject类的equals(object obj)

对于包装类来讲,既然我们使用的是对象,那么对象是不能进行+ ·  /等运算的。为了能够进行这些运算,就需要将包装类的对象转换为基本数据类型的变量。

3.2 如何转换:

基本数据类型---> 包装类:  使用包装类的造  (建议)用包类valueof(xxx xx)

包装类 --->基本数据类型:  调用包类的xxxValue()

注意:原来使用基本数据类型变量的位置,改成包装类以后,对于成员变量来说,其默认值变化了

 

package Test0616;

import Test02.Account;

import java.awt.geom.Arc2D;
import java.util.Scanner;

public class WrapperTest {
    public static void main(String[] args) {
        WrapperTest w1 = new WrapperTest();
        w1.test1();
        w1.test2();
        w1.test3();
        w1.test4();
    }
    /**
     * 基本数据类型---> 包装类: @ 使用包装类的造 @ (建议)用包类valueof(xxx xx)
     * 包装类 --->基本数据类型  调用包类的xxxValue()
     */
    public void test4(){
        //自动装箱:   基本数据类型 --->包装类
        int i1 = 10;
        Integer ii1 = i1;
        System.out.println(ii1.toString());

        Integer ii2 = i1 + 1;
        Boolean bb1 = true;//自动装箱
        Float f1 = 12.3F;//自动装箱

        //自动拆箱:包装类的 ---》基本数据类型
        int i2 = ii1;//自动拆箱
        boolean b1 = bb1;//自动拆箱

    }
    public void test3(){
        Account1 account = new Account1();
        System.out.println(account.isFlag1);//false
        System.out.println(account.isFlag2);//null
        System.out.println();
    }

    public void test2(){
        Integer ii1 = new Integer(10);
        int i1 = ii1.intValue();
        i1 = i1+1;
        Float ff1 = new Float(12.3F);
        float f1 = ff1.floatValue();

        Boolean bb1 = Boolean.valueOf(true);
        boolean b1 = bb1.booleanValue();
        System.out.println();
    }
    public void test1(){
        int i1 = 10;
        Integer ii1 = new Integer(i1);
        System.out.println(ii1.toString());

        float f1 = 12.3f;
        Float ff1 = new Float(f1);
        System.out.println(ff1.toString());

        boolean b1 = true;
        boolean b2 = false;
        String b3 = "123";
        Boolean bb1 = new Boolean(b1);
        Boolean bb2 = new Boolean(b2);
        Boolean bb3 = new Boolean(b3);
        System.out.println(bb1);
        System.out.println(bb2);
        System.out.println(bb3);


        String s1 = "32.1";
        Float ff2 = new Float(s1);
        System.out.println();

    }
}

class Account1{

    boolean isFlag1;
    Boolean isFlag2;

    double balance1;//0.0
    Double balance2;//null  0.0
}

你可能感兴趣的:(数学建模,算法)