java系列13:lang包:Math类、Object类、Class类

一、Math类

  • Math类中提供了一系列基本数学运算和几何运算的方法;
  • 该类的构造方法被修饰为private,因此不能实例化;
  • 该类中的所有方法都是静态的,可以通过类名直接调用;
  • 该类被修饰为final,因此没有子类。
java系列13:lang包:Math类、Object类、Class类_第1张图片
常用方法

例:

public class TestMath {
    public static void main(String[] args) {
        System.out.println("-3的绝对值:" + Math.abs(-3));
        System.out.println("2的3次方:" + Math.pow(2, 3));
        System.out.println("四舍五入-round:"+ Math.round(3.5763235));
        System.out.println("四舍五入-ceil:"+ Math.ceil(3.5763235));
        System.out.println("四舍五入-floor:"+ Math.floor(3.5763235));
    
        for (int i = 0; i < 3; i++) {
            System.out.println("3个随机数:" + Math.random());
        }

        for (int i = 0; i < 10; i++) {
            // (int)((结束-起始)*Math.random()+起始);
            int rdmNum = (int)((1000-500) * Math.random() + 500);
            System.out.println("500到1000之间的随机整数" + rdmNum);
        }
    }
}

// java的random函数生成重复数字的概率比较高。因此,如果要生成唯一的数字,不要使用random。

二、util包的Random类

Random类专门用来生成随机数;
该类的构造方法有2种重载方式。

java系列13:lang包:Math类、Object类、Class类_第2张图片
构造方法
java系列13:lang包:Math类、Object类、Class类_第3张图片
常用方法

例:

package test;

import java.util.Random;

public class TestRandom {
    public static void main(String[] args) {
        Random ran = new Random();
        for (int i = 0; i < 6; i++) {
            System.out.println("当前的随机数是:" + ran.nextInt(2));
        }
    }
}
java系列13:lang包:Math类、Object类、Class类_第4张图片
运行结果

三、Object类

Java中的类体系遵循单根结构,即任何一个类往上追溯都到达同一个父类;Object类就是这个单根体系的根,也就是说它是其它所有类的共同父类。
如果用户定义的类没有扩展任何其它类,则默认扩展自Object类;
Object类中定义的一些方法,会被继承到所有类中。

java系列13:lang包:Math类、Object类、Class类_第5张图片
常用方法

1、toString方法:格式化输出

例:

package test;

class Student {
    private String mName;
    private int mAge;
    public Student(String mName, int mAge) {
        this.mName = mName;
        this.mAge = mAge;
    }

    @Override
    public String toString() {
        String str = "姓名:" + mName + ",年龄:" + mAge;
        return str;
    }

}
public class ToStringDemo {
    public static void main(String[] args) {
        Student std = new Student("张三", 24);
        System.out.println(std);
    }
}
java系列13:lang包:Math类、Object类、Class类_第6张图片
运行结果

四、Class类

  • Java应用程序实际上都是由一个个对象组成,这些对象分别属于什么类,是从哪个类继承而来,这一系列的信息都是由Class类的实例来记录的。Class类的实例用于记录对象的类描述信息

  • 如果在程序运行时,需要检索某个对象的相关类信息,可以调用该对象的getClass方法来获得记录其描述信息的Class类实例

  • Class类没有公共的构造方法,无法通过new运算符实例化,只能通过对象的getClass方法,或是通过Class的静态方法forName来获得实例。

java系列13:lang包:Math类、Object类、Class类_第7张图片
创建对象的方法
java系列13:lang包:Math类、Object类、Class类_第8张图片
常用方法

例:

package test;

public class TestClass {
    public static void main(String[] args) {
        Student stu1 = new Student();
        stu1.name = "老大";
        System.out.println("stu1的姓名:" + stu1.name);
    
        try {
            Class cla = stu1.getClass();
            Student stu2 = (Student) cla.newInstance();
            stu2.name = "老二";
            System.out.println("stu2的姓名:" + stu2.name);
        
            //在方法中指定的包路径下查找Student.class的文件,由Class直接加载到JVM中运行
            Class cla2 = Class.forName("test.Student");
            Student stu3 = (Student) cla2.newInstance();
            stu3.name = "老三";
            System.out.println("stu3的姓名:" + stu3.name);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
java系列13:lang包:Math类、Object类、Class类_第9张图片
运行结果

你可能感兴趣的:(java系列13:lang包:Math类、Object类、Class类)