JAVA入门之常用的API 笔记(30)

导读:本篇文章讲解 JAVA入门之常用的API 笔记(30),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、API概论

可能很多JAVA萌新对于API感觉有点陌生,其实它并不陌生,我们写一个JAVA程序无时无刻都在使用API,在的第一个程序HelloWorld中就使用了System,而这个System就是一个JAVA的API,那么API的具体概念是什么呢?
API = Java Application Interface。就是指那套基本类数据库,这些基本类数据库在我们开发中给我们不一般的便捷,毫不夸张地说,如果没有这套基本类数据库、编程接口,我们编写程序的困难度上升了不止十倍百倍。
下面我就给大家介绍几个JAVA中常用的API

二、Math

Math包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。

在查询帮助文档之后,我们可以看到很多Math这个类的方法
在这里插入图片描述

1. Math中常用方法

(1)、abs:绝对值

  1. 返回一个数的绝对值
  2. public static int/long/float/double (int/long/float/double a)
  3. 可以返回一个整型、长整型、单精度浮点型和双精度浮点型的数的绝对值
  4. 由于该方法是静态的,因此直接用Math即可进行类名调用
    接下来给大家展示一个案例

package MATH;

public class AbsDemo {
    public static void main(String[] args) {
        int int_a = -10;//定义一个整型数据
        //输出-10的绝对值
        System.out.println("-10的绝对值:" + Math.abs(int_a));

        long long_a = -99999999999999999L;//定义一个长整型,注意数字后面要加L
        //输出绝对值
        System.out.println("-99999999999999999绝对值:" + Math.abs(long_a));

        float float_a = -3.14F;//定义一个单精度浮点型,注意后面加个F,告诉计算机这是一个单精度
        //输出绝对值
        System.out.println("-3.14的绝对值:" + Math.abs(float_a));

        double double_a = -3.11111111111111;//定义一个双精度浮点型
        //输出绝对值
        System.out.println("-3.11111111111111的绝对值:" + Math.abs(double_a));
    }
}

在这里插入图片描述


(2)、 ceil:返回一个最小的(最接近负无穷打)double数值,该数值大于或者等于该参数,并等于某个整数

  1. public static double ceil(double a)
  2. 注意返回的类型是double
  3. 该方法是静态,可以直接类名调用
  4. 下面展示案例
package MATH;

public class CeilDemo {
    public static void main(String[] args) {
        double a = 3.14;
        double b = Math.ceil(a);
        System.out.println(b);
    }
}

在这里插入图片描述


(3)、floor:返回小于或者等一参数的最大(最接近正无穷大)double值,等于一个数学整数

  1. public statice double floor(double a)
  2. 返回类型是double类型
  3. 该方法是静态方法, 因此只需要类名调用该方法即可
  4. 下面展示一个案例
package MATH;

public class FloorDemo {
    public static void main(String[] args) {
        double a = 3.14;
        double b = Math.floor(a);
        System.out.println(b);
    }
}

在这里插入图片描述


(4)、min/max:返回两个int/long/float/double类型的最小值或者最大值

  1. public static int/long/float/double min/max (int/long/float/double a)
  2. 该方法是静态,可以直接调用类型名字从而调用方法
  3. 下面给大家演示一个案例
package MATH;

public class MinMaxDemo {
    public static void main(String[] args) {
        double a = 3.14;
        double b = 8.88;
        System.out.println("min : " + Math.min(a, b));
        System.out.println("max : " + Math.max(a, b));
    }
}

在这里插入图片描述


(5)、round:返回最接近int/long的参数,其中int/long四舍五入为正无穷大

  1. public static long round(double a)
  2. public int round round(float a)
  3. 该方法是静态方法,因此也可以使用类名调用该方法
  4. 返回类型是long或者int
  5. 下面展示一个案例
package MATH;

public class RoundDemo {
    public static void main(String[] args) {
        float a = 3.14F;
        System.out.println(a + "四舍五入后:" + Math.round(a));
    }
}

在这里插入图片描述


(6)、random:返回double的正值, 大于等于0.0,小于1.0

  1. public static double random()
  2. 该方法用于随机生成一个随机数
  3. 同样的,该方法也是静态方法, 同样通过类名调用
  4. 下面展示一个案例
package MATH;

public class RandomDemo {
    public static void main(String[] args) {
        System.out.println("随机生成一个double的随机数字是:" + Math.random());
    }
}

在这里插入图片描述


(7)、 pow:指数

  1. public static double pow(double a, double b)
  2. 将第一个参数的值返回到第二个参数的幂
  3. a是基地, b是指数
  4. 下面展示案例
package MATH;

public class PowDemo {
    public static void main(String[] args) {
        System.out.println("2的3次方的值为:" + Math.pow(2.0, 3.0));
    }
}

在这里插入图片描述


三、System

System类提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 一种加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。
但是System类不能被实例化

1.System常用的方法

(1)currentTimeMillis 返回当前时间(以毫秒为单位)

1.public static long currentTimeMillis()
2.该方法是静态方法,因此直接类名调用该方法
3.该方法主要是用来计算一段程序执行的时间,比如计算一个for循环执行完需要多长时间,以便对比不同方法写的同一个程序的时间效率
4. 下面展示一个例子

package Text;

public class SystemDemo {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        for (int i = 0 ; i < 10000; i ++){
            System.out.println(i);
        }
        long end = System.currentTimeMillis();
        System.out.println("执行完这段for循环代码所需的时间为:" + (end - start) + "毫秒");
    }
}

在这里插入图片描述


四、Object

类Object是类层次结构的根。 每个类都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。
同样的Object也不能实例化

1.Object的常用方法


(1)toString() 返回对象的字符串表示形式

  • public String toString

  • 当我们把对象s输出出来的时候,默认会先经过toSring方法,把s转化为字符串

  • 返回对象的字符串表示形式。 一般来说, toString方法返回一个“ toString代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。

  • 该toString类方法Object返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@ ”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串: getClass().getName() + ‘@’ + Integer.toHexString(hashCode())

  • 因此我们需要把子类的toString方法重写成以下形式:
    return “Student{” +
    “age=” + age +
    “, name=’” + name + ‘’’ +
    ‘}’;

  • 下面展示一个学生对象的案例

package TEXT;
/*
    学生对象
 */
public class Student {
    private int age;
    private String name;

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

    public Student() {
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    //重写toString方法
    @Override
    public String toString() {
        return "Student{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}

package TEXT;
/*
    测试类
 */
public class ObjectDemo {
    public static void main(String[] args) {
        Student s = new Student(18, "小明");
        System.out.println(s);
    }
}

在这里插入图片描述


(2)equals() 指示一些其他对象是否等于此

  1. public boolean equals(Object obj)
  2. 该equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值x和y ,当且仅当x和y引用相同对象( x == y具有值true )时,该方法返回true 。
  3. 在比较两个对象是否一样的时候,如果直接调用,只是比较两个对象的地址是否相同,因此在我们使用该方法的时候,我们应该先重写该方法

未重写前equals的方法源代码

    public boolean equals(Object obj) {
        return (this == obj);
    }

可见,这只是比较了两者的地址是否相等,并没有比较内容

因此equal需要重写

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

下面展示一个案例

package TEXT;

import java.util.Objects;

/*
    学生对象
 */
public class Student {
    private int age;
    private String name;

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

    public Student() {
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    //重写equals方法
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age &&
                Objects.equals(name, student.name);
    }
package TEXT;
/*
    测试类
 */
public class ObjectDemo {
    public static void main(String[] args) {
        Student s1 = new Student(18, "小明");
        Student s2 = new Student(18, "小明");
        System.out.println(s1.equals(s2));
    }
}

在这里插入图片描述


五、Arrays

该类包含用于操作数组的各种方法(如排序和搜索)。 该类还包含一个静态工厂,可以将数组视为列表。

1. Arrays常用方法


(1) toString(数据类型 数组名)返回指定数组的内容的字符串表示形式

  1. public static String toString(shor/int/long/float/double a)
    2.返回指定数组的内容的字符串表示形式。 字符串表示由数组元素的列表组成,括在方括号( “[]” )中。 相邻的元素由字符”, ” (逗号后跟一个空格)。
  2. 该方法是静态方法,使用类名调用
  3. 下面展示案例
package TEXT;

import java.util.Arrays;

public class ArraysDemo {
    public static void main(String[] args) {
        int[] arr = {11, 22, 33, 44, 55};
        System.out.println(Arrays.toString(arr));
    }
}

在这里插入图片描述


(2)sort(数据类型 数组名)按照数字顺序排列指定的数组

  1. public static void sort(int[] a)
    2.静态方法,调用类名调用即可
  2. 下面展示一个案例
package TEXT;

import java.util.Arrays;

public class ArraysDemo {
    public static void main(String[] args) {
        int[] arr = {1, 22, 3, 44, 5};
        System.out.println("排序前:" + Arrays.toString(arr));
        Arrays.sort(arr);//进行排序
        System.out.println("排序后:" + Arrays.toString(arr));

    }
}

在这里插入图片描述


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95042.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!