Java笔记day03(包装类)

Java笔记day03(包装类)

1.以int和Integer为例实现自动装箱及拆箱操作

package Integer;
/*
* 以int和Integer为例实现自动装箱及拆箱操作
* */
public class IntegerTest09 {
    public static void main(String[] args) {
        Integer x = 10;    //自动装箱
        int y = x;        //自动拆箱,等价于调用了intValue()方法
        System.out.println(y);  //10
        x++;                 //包装类可以直接参与数学运算
        System.out.println(x);  //11
        System.out.println(x*y);  //110
    }
}

Java笔记day03(包装类)

2.Object接收浮点数据

package Integer;

public class DoubleTest01 {
    public static void main(String[] args) {
        Object o = 8.0;     //double自动装箱为Double,向上转型为Object
        double d = (Double)o; //向下转型为包装类,再自动拆箱
        System.out.println(d); //8.0
        System.out.println(d*100); //800.0
    }
}

Java笔记day03(包装类)

3.关于Integer自动装箱的数据比较问题

package Integer;
/*
* 两类实例化对象的操作:
* 1.直接赋值
* 2.通过构造方法赋值
* */
public class IntegerTest10 {
    public static void main(String[] args) {
        Integer x = new Integer(10);  //新空间,另外出现横线代表已过时
        Integer y = 10;  //通过直接赋值方式实例化的包装类对象就可以自动入池了
        Integer z = 10;
        System.out.println(x==y); //false
        System.out.println(x==z); //false
        System.out.println(y==z);  //true
        System.out.println(x.equals(y));  //true
        System.out.println(x.equals(z));  //true
        System.out.println(y.equals(z));  //true


        Integer a = new Integer(1000);
        Integer b = 1000;
        Integer c = 1000;
        System.out.println(a==b); //false
        System.out.println(a==c); //false
        /*
        * 在使用Integer自动装箱实现包装类对象实例化操作中。
        * 如果所赋值的内容在-128-127则可以自动实现已有堆内存的引用,
        * 可以使用”==“比较;如果不在此范围内,那么就必须依靠equals()
        * 来比较
        * */
        System.out.println(b==c);  //false
        System.out.println(a.equals(b));  //true
        System.out.println(a.equals(c));  //true
        System.out.println(b.equals(c));  //true
    }
}

Java笔记day03(包装类)

4.数据类型转换

package Integer;
/*
* Integer类:public static int parseInt(String s)。
* Double类:public static double parseDouble(String s)。
* Boolean类:public static boolean parseBoolean(String s)。
* Character这个包装类并没有提供一个类似的parseCharacter()方法,因为字符串
* 提供了一个charAt()方法,可以取得指定索引的字符,而且一个字符的长度就是一位
* */
public class IntegerTest11 {
    public static void main(String[] args) {
        //将字符串变为int型
        String str = "12";
        int num = Integer.parseInt(str);
        System.out.println(num*num);  //144


        //在这类转型中,字符串必须为纯数字
        String str1 = "12q";  //NumberFormatException: For input string: "12q"
        int num1 = Integer.parseInt(str1);
        System.out.println(num1);

    }
}

Java笔记day03(包装类)

package Integer;

public class BooleanTest01 {
    public static void main(String[] args) {
        //将字符串变为boolean型
        String str = "true";
        boolean b = Boolean.parseBoolean(str);
        System.out.println(b);  //true

        String str1 = "false";
        boolean d = Boolean.parseBoolean(str1);
        System.out.println(d);  //false

        String str2 = "我是谁";  //字符代码不是true或false。统一按照false处理
        boolean f = Boolean.parseBoolean(str2);
        System.out.println(f);  //false
    }
}

Java笔记day03(包装类)

上一篇:MySQL_练习Day03


下一篇:Day03-笔记