- API
- object类
- objects类
- BigDecimal类
学习内容: 1、Math 类概述
Math包含执行基础数字运算方法
public class math {
public static void main(String[] args) {
//public static int abs(int a) 返回参数的绝对值
int abs = Math.abs(-10);
System.out.println(abs);
//public static double ceil(double a) 向上取整
double ceil = Math.ceil(10.1);
System.out.println(ceil);
//public static double floor(double a) 向下取整
double floor = Math.floor(10.6);
System.out.println(floor);
//public static int round(float a) 四舍五入
long round = Math.round(10.1);
System.out.println(round);
//public static int max(int a,int b) 返回两个int值中的最大值
int max = Math.max(10,20);
System.out.println(max);
//public static int min(int a,int b) 返回两个int值中的最小值
int min = Math.min(10, 20);
System.out.println(min);
//public static double pow(double a,double b) 返回a的b次幂的值
double pow = Math.pow(2, 4);
System.out.println(pow);
// public static double random() 返回值为double的正值,[0,0,1,0] 随机数
for (int i = 0; i < 10; i++) {
double random = Math.random();
System.out.println(random);
}
}
}
2、System
public class System {
public static void main(String[] args) {
//public static void exit (int status) 终止当前运行的Java虚拟机非零表示异常终
//public static long currentTimeMillis() 返回当前时间(以毫秒为单位)
long start = System.currentTimeMillis();
for(int i = 0; i < 10000; i++){
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println(end - start);
//arraycopy(数据源数组,起始索引,拷贝个数)
int [] arr1 = {1,2,3,4,5};
int [] arr2 = new int[10];
//需求:要把arr1数据拷贝到arr2
System.arraycopy(arr1,0,arr2,0,arr1.length);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
3、object类
Object类的toString方法得到的是对象的返回值一般要对toObject方法进行重写。
常用方法
public String toString() 返回对象的字符串表示形式,建议所有子类的重写方法,自动生成
public boolean equals(另一个对象) 比较对象是否相等,默认比较地址,重写可以比较内容,自动生成。
面试题
public class Interview {
public static void main(String[] args) {
String s1 = "abc";
StringBuilder sb = new StringBuilder("abc");
//调用的String类中的equals方法,所以保证参数也是字符串,否则会传回false
System.out.println(s1.equals(sb));
//StringBuilder类中没有equals方法,所以就用object类中的方法,地址不一样所以为false
System.out.println(sb.equals(s1));
}
}
4、Objects类常用方法
public class MyObjectsDemo {
public static void main(String[] args) {
//public static String toString(对象) 返回参数中对象的字符串表现形式
//Student s = new Student("小罗同学",50);
//String result = Objects.toString(s);
//System.out.println(result);
//public static String toString(对象,默认字符串) 返回对象的字符串表现形式
//Student s1 = new Student("小花同学",23);
//Student s1 = null;
//String result = Objects.toString(s1, "随便写一个");
//System.out.println(result);
//public static Boolean isNull(对象) 判断对象是否为空
//Student s = null;
//Student s = new Student();
//boolean result = Objects.isNull(s);
//System.out.println(result);
//public static Boolean nonNull(对象) 判断对象是否不为空,与上面相反
//Student s = new Student();
//Student s = null;
//boolean result = Objects.isNull(s);
//System.out.println(result);
}
}
5、BigDecimal类
BigDecimal 类的构造方法
BigDecimal(double val) 参数double
BigDecimal(double val) 参数String
public class Demo1 {
public static void main(String[] args) {
//如果想进行精确运算,那么请使用字符串的构造
//BigDecimal bd1 = new BigDecimal(0.1);
//BigDecimal bd2 = new BigDecimal(0.2);
BigDecimal bd1 = new BigDecimal("0.1");
BigDecimal bd2 = new BigDecimal("0.2");
//public BigDecimal add(另一个BigDecimal对象) 加法
BigDecimal add = bd1.add(bd2);
System.out.println("和为" + add);
//System.out.println(0.1 + 0.2);
//public BigDecimal subtract(另一个BigDecimal对象) 减法
BigDecimal subtract = bd1.subtract(bd2);
System.out.println("差为" + subtract);
//public BigDecimal multiply(另一个BigDecimal对象) 乘法
BigDecimal multiply = bd1.multiply(bd2);
System.out.println("积为" + multiply);
//public BigDecimal divide (另一个BigDecimal对象) 除法
BigDecimal divide = bd1.divide(bd2);
System.out.println("商为"+ divide);
}
}



