Java学习2023.7.18(实用类)

 

目录

一、枚举

二、包装类

1、8大基本数据类型

2、包装类类型转换

1>装箱

2>拆箱

三、Math类

1、与近似数相关的方法

2、最大、最小值

3、随机数、幂函数、平方根

四、Random类


一、枚举

 枚举指由一组固定常量组成的类型

例:枚举类

public enum Gender {
    男,女,东方不败
}

测试类中:

        //创建Student类对象
        Student student = new Student();
        //给student对象属性赋值
//        student.sex = "男";
//性别定义的是枚举类型Gender,赋值为String类型,会报错,因为类型不匹配
//        student.sex=Gender.男;
//        student.sex=Gender.女;
        student.sex=Gender.东方不败;

        System.out.println("性别:"+student.sex);

二、包装类

1、8大基本数据类型

所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例

        byte num1 = 100;
        Byte byte1 = new Byte(num1);

        short num2 = 200;
        Short short1 = new Short(num2);

        int num3 =300;
        Integer integer1 = new Integer(num3);

        long num4 = 400L;
        Long long1 = new Long(num4);

        float num5 = 100.99F;
        Float float1 = new Float(num5);

        double num6 = 99.99;
        Double double1 = new Double(num6);

        boolean num7 = false;
        Boolean boolean1 = new Boolean(num7);

        char num8 = 'q';
        Character character1 = new Character(num8);

        除Character类外,其他包装类可将一个字符串作为参数构造它们的实例,注意:对于Number类,字符串必须是能够解析成数字的字符串

        Byte byte2 = new Byte("123");
        System.out.println(byte2);
//        Byte byte3 = new Byte("abc");//NumberFormatException 数字格式化异常
//        System.out.println(byte3);

        使用字符串作为参数来创造Boolean类对象的时候,字符串参数true(不管大小写),得到的结果就是true,其余情况都是false

        Boolean boolean2 = new Boolean("true");
        System.out.println("boolean2:"+boolean2);//true
        Boolean boolean3 = new Boolean("tRue");
        System.out.println("boolean3:"+boolean3);//true
        Boolean boolean4 = new Boolean("false");
        System.out.println("boolean4:"+boolean4);//false
        Boolean boolean5 = new Boolean("dfgdg");
        System.out.println("boolean5:"+boolean5);//false

包装类中有两个静态常量值可以输出基本数据类型的存储范围

        System.out.println("byte类型数据范围:"+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
        System.out.println("short类型数据范围:"+ Short.MIN_VALUE+"~"+Short.MAX_VALUE);
        System.out.println("int类型数据范围:"+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
        System.out.println("long类型数据范围:"+Long.MIN_VALUE+"~"+Long.MAX_VALUE);
        System.out.println("float类型数据范围:"+Float.MIN_VALUE+"~"+Float.MAX_VALUE);
        System.out.println("double类型数据范围:"+Double.MIN_VALUE+"~"+Double.MAX_VALUE);
        System.out.println("char类型数据围:"+Character.MIN_VALUE+"~"+Character.MAX_VALUE);

2、包装类类型转换

        // XXXValue():包装类转换成基本类型
        Integer integer1 = new Integer("123");
        int num1 = integer1.intValue();
        System.out.println(num1);

        // toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)
        int num2 = 200;
        String string1 = Integer.toString(num2);
        System.out.println(string1);

        // parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)
        int num3 = Integer.parseInt("999");
        System.out.println(num3);

        // 所有包装类都有如下方法(基本类型->包装类):public static Type valueOf(type value)
        int num4 = 400;
        Integer integer2 = Integer.valueOf(num4);
        System.out.println(integer2);
        // 除Character类外,其他包装类都有如下方法(字符串->包装类):public static Type valueOf(String s)
        Integer integer3 = Integer.valueOf("888");
        System.out.println(integer3);

        /*

        * 刚才学习了包装类中的很多方法,可以实现基本数据类型和包装类类型相互转换,也可以实现字符串类型和包装类类型、字符串和基本数据类型的之间的相互转换

        * 但是,方法比较多,我们容易记岔了,多以,有新的技术装箱和拆箱来实现基本数据类型和包装类型的转换

        * 装箱:将基本数据类型直接赋值给包装类对象

        * 拆箱:将包装类对象直接赋值给基本数据类型

        * */

1>装箱

装箱:将基本数据类型直接赋值给包装类对象

        int num1 =100;
        Integer integer1=num1;
        System.out.println(integer1);
2>拆箱

拆箱:将包装类对象直接赋值给基本数据类型

        Long num2 = new Long("999");
        long num3 =num2;
        System.out.println(num3);

运算使用:

        Integer integer3 = new Integer("333");
        int num4 = 222;
        int sum1 =integer3+num4;
        Integer sum2 =integer3+num4;
        System.out.println(sum1);
        System.out.println(sum2);

三、Math类

Math类中的PI值

System.out.println("圆周率:"+Math.PI);

获取一个数的绝对值(正数的绝对值是它本身,负数的绝对值是它的相反数)

System.out.println(Math.abs(-20));

1、与近似数相关的方法

        上舍入:static double ceil(double a):返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。

        System.out.println(Math.ceil(3.4));//4.0
        System.out.println(Math.ceil(3.5));//4.0
        System.out.println(Math.ceil(3.6));//4.0
        System.out.println(Math.ceil(3.9));//4.0
        System.out.println(Math.ceil(4.0));//4.0

        下舍入:static double floor(double a):返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。

        System.out.println(Math.floor(5.9));//5.0
        System.out.println(Math.floor(5.6));//5.0
        System.out.println(Math.floor(5.5));//5.0
        System.out.println(Math.floor(5.1));//5.0
        System.out.println(Math.floor(5.0));//5.0

        四舍五入:static int round(float a) :返回最接近参数的 int。

        System.out.println(Math.round(6.0));//6
        System.out.println(Math.round(6.1));//6
        System.out.println(Math.round(6.4));//6
        System.out.println(Math.round(6.5));//7
        System.out.println(Math.round(6.6));//7
        System.out.println(Math.round(6.9));//7

2、最大、最小值

        System.out.println("最大值:"+Math.max(1000,200));
        System.out.println("最小值:"+Math.min(1000,200));

3、随机数、幂函数、平方根

 static double random() :返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

System.out.println("随机数:"+Math.random());

        //经过层层变形后,得出一个结论:

        //随机获取一个[num1,num2)(num2>num1)之间的int类型的数:

        //int num = (int)(Math.random()*(num2-num1)+num1);

static double pow(double a, double b):返回第一个参数的第二个参数次幂的值。

System.out.println("2的10次方等于:"+Math.pow(2,10));

static double sqrt(double a):返回正确舍入的 double 值的正平方根。

System.out.println("81的算术平方根:"+Math.sqrt(81));

四、Random类

 

 使用:

       for(int i =1;i<=20;i++){
           int num1  =random.nextInt();
           System.out.println("int类型随机数:"+num1);
       }

        System.out.println("--------------------");

       for(int i =1;i<=10;i++){
           System.out.println("boolean类型的随机数:"+random.nextBoolean());
       }

       System.out.println("--------------------");
       for(int i =1;i<=20;i++){
           System.out.println("int类型的随机数:"+random.nextInt(10));
       }

        用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的。

        Random random1 = new Random(100);
        Random random2 = new Random(100);

        int num1 =random1.nextInt();
        int num2 =random2.nextInt();
        System.out.println("num1:"+num1);
        System.out.println("num2:"+num2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值