JavaSE(十三)包装类

包装类型

  • 集合 容器 集合中只能放对象,不能放基本数据类型的值;

  • 包装类型 对基本数据类型包装 让基本数据类型具有对象的性质;丰富了对基本数据类型的操作

  • 包装类型都是不可变的类型,其对象都是不可变的

 /**
     * 字符类型方法
     */
    private static void method10() {
        Character c = 'a';
        char toUpperCase = Character.toUpperCase('a');
        System.out.println(toUpperCase);
        char toLowerCase = Character.toLowerCase('A');
        System.out.println("isDigit: " + Character.isDigit('0'));
        System.out.println("isSpaceChar: " + Character.isSpaceChar('\n'));
        System.out.println("isLetter:  " + Character.isLetter('A'));
        System.out.println("isUpperCase: " + Character.isUpperCase('A'));
        System.out.println("isLowerCase: " + Character.isLowerCase('a'));
    }
​
    /**
     * 包装类型的不可变性
     */
    private static void method9() {
        //包装类型和String类型都是不可变的类型 对象都是不可变的对象
        Integer num = 33;
        num = 99;
    }
​
    /**
     * 包装类型的缓存池
     */
    private static void method8() {
        //Integer 缓存池 提前缓存了一批Integer对象 -128 至 127
        //Byte
        Integer num1 = 128;
        Integer num2 = 128;
        //两个引用 是否指向同一个对象
        System.out.println(num1 == num2);
        Byte by;
        Long lo;
        Float f1;
        //ASCII码表 符号 0-127
        Character c1 = 'a';
        Character c2 = 'a';
        System.out.println(c1 == c2);
    }
​
    /**
     * 自动拆箱和自动装箱
     *
     * @param num
     */
    private static void method7(Double num) {
    }
​
    private static void method6() {
        Integer num1 = 12;
        //自动拆箱:  Integer-> int 包装类型自动转换为其对应的基本数据类型形式
        method4(num1);
        int num2 = 88;
        //自动装箱:int ->Integer 基本数据类型自动转换为其包装类型
        method5(num2);
​
​
        Integer num = 99;
        // 自动拆箱
        System.out.println(num + 12);
    }
​
    public static void method5(Integer integer) {
    }
​
    public static void method4(int num) {
​
    }
​
    /**
     * 常用方法
     */
    private static void method3() {
        Integer num = 34;
        Integer num2 = 66;
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.MAX_VALUE);
        String str = "2323";
        if (str.matches("\\d+")) {
            //把字符串对象 转换为对应的 Integer对象
            Integer integer = Integer.valueOf(str);
            //Integer integer = Integer.valueOf(str, 10);
            System.out.println(integer);
        }
        // 把字符串对象 转换为对应的 int值;
        int i = Integer.parseInt("1111");
        //int i = Integer.parseInt("1111", 2);
        System.out.println(i);
        //正 1 负-1   0
        System.out.println("compareTo: " + num.compareTo(num2));
​
        Double aDouble = Double.valueOf("66.9");
        double v = Double.parseDouble("45.8");
    }
​
    /**
     * 赋值方式
     */
    private static void method2() {
        //直接赋值 不建议使用构造方法创建对象;基于内存优化的考虑;和String类似
        Integer num3 = 33;
        Integer num33 = 33;
        Byte num4 = 12;
        Long num5 = 13L;
        Float num6 = 5.6F;
        Double num7 = 6.6;
        Boolean num8 = true;
        Character num9 = 'a';
        Integer num = new Integer(12);
        Integer num22 = new Integer(12);
        byte by = 13;
        Byte num2 = new Byte(by);
    }
​
    /**
     * 包装类型 都位于java.lang包中
     */
    private static void method1() {
        Byte num1; //byte
        Short num2;//short
        Integer num3;//int
        Long num4;//long
        Float num5;//float
        Double num6;//double
        Character num7;//char
        Boolean num8;//boolean
    }

Math类

/**
     * Math相关方法
     */
    private static void method11() {
        System.out.println(Math.PI);
        //
        System.out.println(Math.pow(2, 5));
        // [0.0, 1.0) 随机值
        System.out.println("random() " + Math.random());
        System.out.println("四舍五入值: " + Math.round(5.3));
        //
        System.out.println("ceil: " + Math.ceil(6.7));
        System.out.println("floor: " + Math.floor(6.7));
        //
        System.out.println("abs: " + Math.abs(-12));
        System.out.println("max: " + Math.max(10, 2));
        System.out.println("min: " + Math.min(10, 2));
        System.out.println("sqrt: " + Math.sqrt(16));
    }

进制运算

 public static void method15() {
        //右移 等价于 除以2的指数值
        System.out.println(17 >> 3);
        System.out.println(17 / 8);
        //左移 等价于 乘以2的指数值
        System.out.println(3 << 2);
        System.out.println(3 * 4);
    }
​
    /**
     * &:与
     * |:或
     * ^:异或 :不等则为1  相等为0
     */
    public static void method14() {
        System.out.println(23 & 15);
        System.out.println(23 | 15);
        System.out.println(23 ^ 15);
    }
​
    /**
     * 十六进制与二进制的转换 较快
     */
    private static void method13() {
        // 十六进制 的一位 等价于 二进制的4位;
        int num = 0b011111111010;
        int num2 = 0x7fa;
        System.out.println(num);
        System.out.println(num2);
    }
​
    /**
     * 二进制:逢二进一 0 1   0b/0B数字表示
     * 八进制:逢八进一 0-7   0数字表示
     * 十进制:逢十进一 0-9
     * 十六进制:逢十六进一 0-9 a:10 b:11 c:12 d:13 e:14 f:15  表示0-9a-f  0x/0X数字表示
     */
    private static void method12() {
//        int num = 0B1111;
//        int num = 017;
//        int num = 15;
        int num = 0Xf;
        System.out.println(num);
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值