常用的API

Math类:

1.Math中方法的调用方式:

Math类中无构造方法,但内部的方法都是静态的,所以可以通过类名进行调用.

2.Math的常用方法:

绝对值计算Math.abs(a)用于获取参数a的绝对值。

平方根计算Math.sqrt(a)用于获取参数a的平方根。需要注意的是,如果参数为负数,则返回NaN(非数字)。

立方根计算Math.cbrt(a)用于获取参数a的立方根。

最大值计算Math.max(a,b)用于获取两个参数中的最大值。

最小值计算Math.min(a,b)用于获取两个参数中的最小值。

幂运算计算Math.pow(a,b)用于计算第一个参数a的第二个参数b次方的值。

向上取整Math.ceil(a)用于获取大于或等于参数a的最小整数。

向下取整Math.floor(a)用于获取小于或等于参数a的最大整数。

四舍五入Math.round(a)用于将参数a四舍五入为最接近的整数。

随机数生成Math.random()用于生成一个伪均匀分布在 [0,1)之间的 double 值。
代码演示

public class MathExample {
    public static void main(String[] args) {
        // 绝对值计算
        double absValue = Math.abs(-5);
        System.out.println("Absolute value of -5: " + absValue);

        // 平方根计算
        double sqrtValue = Math.sqrt(25);
        System.out.println("Square root of 25: " + sqrtValue);

        // 立方根计算
        double cbrtValue = Math.cbrt(27);
        System.out.println("Cube root of 27: " + cbrtValue);

        // 最大值计算
        double maxValue = Math.max(10, 20);
        System.out.println("Maximum value between 10 and 20: " + maxValue);

        // 最小值计算
        double minValue = Math.min(30, 40);
        System.out.println("Minimum value between 30 and 40: " + minValue);

        // 幂运算计算
        double powerValue = Math.pow(2, 3);
        System.out.println("2 raised to the power of 3: " + powerValue);

        // 向上取整
        double ceilValue = Math.ceil(4.2);
        System.out.println("Ceiling value of 4.2: " + ceilValue);

        // 向下取整
        double floorValue = Math.floor(5.8);
        System.out.println("Floor value of 5.8: " + floorValue);

        // 四舍五入
        long roundValue = Math.round(6.5);
        System.out.println("Rounded value of 6.5: " + roundValue);

        // 随机数生成
        double randomValue = Math.random();
        System.out.println("Random value between 0 and 1: " + randomValue);
    }
}

System类

System类的常用方法包括数组复制、获取当前系统时间等。在Java中,System类提供了多种用于与底层操作系统交互的静态方法和字段,使得开发者能够执行诸如获取系统属性、执行外部命令以及管理输入输出等操作。以下是具体介绍:

arraycopy():这个方法用于数组复制,可以从一个源数组中复制一部分元素到目标数组的指定位置。

currentTimeMillis():此方法返回当前时间与1970年1月1日00:00:00 UTC之间的差值,以毫秒为单位。

exit():此方法用于终止当前正在运行的Java虚拟机,可以传入一个状态码来表示程序是正常退出还是异常退出。

gc():此方法用于请求JVM进行垃圾回收,以清理不再使用的对象所占用的内存空间。

getProperty():此方法用于获取系统属性,可以通过属性名作为参数传入来获取对应的属性值。

getProperties():此方法用于获取系统中所有属性的集合,通常这些属性包含了系统的环境变量和一些系统级别的设置

代码展示

//arraycopy():
int[] sourceArray = {1, 2, 3, 4, 5};
int[] destinationArray = new int[5];

System.arraycopy(sourceArray, 0, destinationArray, 0, 5);

// 输出复制后的数组
for (int i = 0; i < destinationArray.length; i++) {
    System.out.print(destinationArray[i] + " ");
}
//
//currentTimeMillis():
long currentTime = System.currentTimeMillis();
System.out.println("当前时间戳:" + currentTime);
//
//exit();
System.exit(0); // 正常退出程序,状态码为0
//
//gc():
System.gc(); // 请求JVM进行垃圾回收
//
//getProperty():
String javaVersion = System.getProperty("java.version");
System.out.println("Java版本:" + javaVersion);
//
//getProperties():
Properties properties = System.getProperties();
properties.list(System.out); // 输出所有系统属性

Object类

Object类是Java所有类的根类,它定义了一系列基本方法,这些方法被所有的Java对象继承。以下是具体介绍:

toString():这个方法返回对象的字符串表示形式。通常用于提供关于对象的文本描述。在Object类中,toString()方法的默认实现返回一个由对象所属类的全限定名、'@'字符和对象哈希码的无符号十六进制表示组成的字符串。

equals():该方法用于比较两个对象是否相等。在Object类中,equals()方法的默认实现是比较两个对象的引用是否相同,即它们是否指向内存中的同一个位置。如果需要基于对象的内容而非引用进行比较,子类应该重写此方法。

hashCode():此方法返回对象的哈希码值,这是一个整数。在Java中,哈希码常用于散列数据结构,如Hashtable、HashMap等。虽然不同的对象可以具有相同的哈希码,但同一个对象的哈希码值在多次调用时必须保持一致。

getClass():此方法返回对象的运行时类的Class实例。这个Class实例可以用来获取类的元数据,如类名、包名、注解等。

代码展示

//toString():
public class Book implements Cloneable {
    private String title;
    private String author;

    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }

    @Override
    protected Book clone() throws CloneNotSupportedException {
        return (Book) super.clone();
    }

    public static void main(String[] args) {
        Book book1 = new Book("The Great Gatsby", "F. Scott Fitzgerald");
        try {
            Book book2 = book1.clone();
            System.out.println(book2); // 输出: Book{title='The Great Gatsby', author='F. Scott Fitzgerald'}
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}
//
//equals():
public class Student {
    private String name;
    private int id;

    public Student(String name, int id) {
        this.name = name;
        this.id = id;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null || getClass() != obj.getClass()) return false;
        Student student = (Student) obj;
        return id == student.id && Objects.equals(name, student.name);
    }

    public static void main(String[] args) {
        Student s1 = new Student("Bob", 1001);
        Student s2 = new Student("Bob", 1001);
        Student s3 = new Student("Alice", 1002);

        System.out.println(s1.equals(s2)); // 输出: true
        System.out.println(s1.equals(s3)); // 输出: false
    }
}
//
//hashCode():
public class Product {
    private String name;
    private double price;

    public Product(String name, double price) {
        this.name = name;
        this.price = price;
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, price);
    }

    public static void main(String[] args) {
        Product p1 = new Product("Apple", 1.99);
        Product p2 = new Product("Banana", 0.99);
        Product p3 = new Product("Apple", 1.99);

        System.out.println(p1.hashCode()); // 输出: 321236876(示例值)
        System.out.println(p2.hashCode()); // 输出: 321236877(示例值)
        System.out.println(p3.hashCode()); // 输出: 321236876(示例值)
    }
}
//
//getClass():
public class Animal {
    private String species;
    private int age;

    public Animal(String species, int age) {
        this.species = species;
        this.age = age;
    }

    public static void main(String[] args) {
        Animal cat = new Animal("Cat", 3);
        Class<?> animalClass = cat.getClass();
        System.out.println(animalClass.getName()); // 输出: Animal
    }
}

BigDecimal类

BigDecimal类是Java提供的一个用于精确计算的类,特别是在金融计算中经常使用,以避免浮点数计算中的精度损失问题。下面是关于该类的一些详细分析:

构造方法:BigDecimal提供了多种构造方法,包括以int、long、double、String等类型为参数的构造方法,以及静态的valueOf方法。其中,基于String的构造方法和valueOf(double)方法是推荐使用的,因为它们可以确保结果的准确性。

常用方法:BigDecimal类提供了add、subtract、multiply和divide等方法来进行加、减、乘、除运算。这些方法避免了直接使用算术运算符可能带来的精度问题,并允许指定舍入模式和精度。

比较大小:比较两个BigDecimal对象的大小应使用compareTo方法,而不是equals方法,因为equals方法还会比较两个对象的scale是否相等。

// 使用String构造方法
BigDecimal num1 = new BigDecimal("123.456");

// 使用valueOf方法
BigDecimal num2 = BigDecimal.valueOf(123.456);

Date类

Java中的Date类是java.util包中的一个类,它表示特定的瞬间,精确到毫秒。以下是一些常用的Date类方法:

Date(): 构造一个 Date对象并初始化此对象为系统当前的日期和时间。

Date(long date): 分配 Date对象并初始化此对象,以表示自从"历元"(即1970年1月1日00:00:00 GMT)以来的指定毫秒数。

boolean after(Date when): 测试此日期是否在指定日期之后。

boolean before(Date when): 测试此日期是否在指定日期之前。

Object clone(): 返回此对象的副本。

int compareTo(Date anotherDate): 比较两个日期的顺序。

boolean equals(Object obj): 比较两个日期的相等性。

long getTime(): 返回自1970年1月1日0点0分0秒(GMT)以来此 Date对象表示的毫秒数。

void setTime(long time): 设置此 Date对象,以表示自从"历元"(即1970年1月1日00:00:00 GMT)以来的指定毫秒数。

String toString(): 把 Date对象转换为字符串表示形式。

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值