Java之常用API
gonghr 人气:0API概述
什么是API
API (Application Programming Interface) :应用程序编程接口
java中的API
指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何
实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
Math
1、Math类概述
Math 包含执行基本数字运算的方法
2、Math中方法的调用方式
Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用
3、Math类的常用方法
public static int abs(int a)
|
返回参数的绝对值 |
public static double ceil(double a)
|
返回大于或等于参数的最小double值,等于一个整数
|
public static double floor(double a) |
返回小于或等于参数的最大double值,等于一个整数
|
public static int round(float a) | 按照四舍五入返回最接近参数的int |
public static int max(int a,int b) | 返回两个int值中的较大值 |
public static int min(int a,int b) | 返回两个int值中的较小值 |
public static double pow (double a,double b)
|
返回a的b次幂的值 |
public static double random() | 返回值为double的正值,[0.0,1.0) |
System
public static void exit(int status)
|
终止当前运行的 Java 虚拟机,非零表示异常终止 |
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) |
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。从 src 引用的源数组到 dest 引用的目标数组,数组组件的一个子序列被复制下来。被复制的组件的编号等于 length 参数。 |
public static long currentTimeMillis() | 返回当前时间(以毫秒为单位) |
int [] array={1,2,3,4}; int[] array2=new int[4]; System.arraycopy(array,0,array2,2,2); for (int i = 0; i < array2.length; i++) { System.out.println(array2[i]); }
Object
Object类概述
Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,
换句话说,该类所具备的方法,所有类都会有一份
查看方法源码的方式
选中方法,按下Ctrl + B
重写toString方法的方式
1. Alt + Insert 选择toString
2. 在类的空白区域,右键 -> Generate -> 选择toString
toString
toString方法的作用:
以良好的格式,更方便的展示对象中的属性值
public class Student { private int age; private String name; @Override public String toString() { return "Student{" + "age=" + age + ", name='" + name + '\'' + '}'; } public Student(int age, String name) { this.age = age; this.name = name; } }
public class test { public static void main(String[] args) { Student student=new Student(10,"张三"); System.out.println(student); } }
输出:Student{age=10, name='张三'}
equals
equals方法的作用
用于对象之间的比较,返回true和false的结果
举例:s1.equals(s2); s1和s2是两个对象
重写equals方法的场景
不希望比较对象的地址值,想要结合对象属性进行比较的时候。
重写equals方法的方式
1. alt + insert 选择equals() and hashCode(),IntelliJ Default,一路next,finish即可
2. 在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。
public class Student { private int age; private String name; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Student student = (Student) o; if (age != student.age) return false; return name != null ? name.equals(student.name) : student.name == null; } public Student(int age, String name) { this.age = age; this.name = name; } }
public class test { public static void main(String[] args) { Student student=new Student(10,"张三"); Student student2=new Student(10,"张三"); System.out.println(student.equals(student2)); } }
输出:true
Objects
常用方法
public static String toString(对象)
|
返回参数中对象的字符串表示形式。 |
public static String toString(对象, 默认字符串) | 返回对象的字符串表示形式。 |
public static Boolean isNull(对象) | 判断对象是否为空 |
public static Boolean nonNull(对象) | 判断对象是否不为空 |
public class Student { private int age; private String name; @Override public String toString() { return "Student{" + "age=" + age + ", name='" + name + '\'' + '}'; } public Student(int age, String name) { this.age = age; this.name = name; } }
import java.util.Objects; public class test { public static void main(String[] args) { Student student=new Student(10,"张三"); // Student student2=new Student(10,"张三"); String result= Objects.toString(student); Student student2=null; String result2=Objects.toString(student2,"null"); Student student3=null; boolean result3=Objects.isNull(student3); boolean result4=Objects.nonNull(student); System.out.println(result); System.out.println(result2); System.out.println(result3); System.out.println(result4); } }
输出:
Student{age=10, name='张三'}
null
true
true
BigDecimal
作用
可以用来进行精确计算
构造方法
BigDecimal(double val)
|
参数为double |
BigDecimal(String val) | 参数为String |
常用方法
public BigDecimal add(另一个BigDecimal对象)
|
加法 |
public BigDecimal subtract (另一个BigDecimal对象) | 减法 |
public BigDecimal multiply (另一个BigDecimal对象) | 乘法 |
public BigDecimal divide (另一个BigDecimal对象) | 除法 |
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式) | 除法 |
总结
1. BigDecimal是用来进行精确计算的
2. 创建BigDecimal的对象,构造方法使用参数类型为字符串的。
3. 四则运算中的除法,如果除不尽请使用divide的三个参数的方法。
BigDecimal divide = bd1.divide(参与运算的对象,小数点后精确到多少位,舍入模式);
参数1 ,表示参与运算的BigDecimal 对象。
参数2 ,表示小数点后面精确到多少位
参数3 ,舍入模式
BigDecimal.ROUND_UP 进一法
BigDecimal.ROUND_FLOOR 去尾法
BigDecimal.ROUND_HALF_UP 四舍五入
BigDecimal bd1=new BigDecimal("10.0"); BigDecimal bd2=new BigDecimal("3.0"); BigDecimal divide = bd1.divide(bd2, 2, BigDecimal.ROUND_UP); System.out.println(divide);
输出:3.34
加载全部内容