System类的概述:
System 类包含一些有用的类字段和方法。它不能被实例化。
成员方法:
finalize()方法是一个类对象在销毁时会被调用的方法,垃圾收集器在发现这个类对象不会再被使用时就会回收内存,也就是销毁该对象,从而finalize()被调用了。JDK带的垃圾回收算法就会调用该对象的销毁方法来回收了。
public static void main(String[] args) {
new demo();
System.gc(); //运行垃圾回收器,相当于呼喊保洁阿姨
}
class demo {
@Override
public void finalize(){ //对方法的重写
System.out.println("垃圾被回收");
}
}
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
System.exit(1); 非0状态是异常终止,退出jvm
long start = System.currentTimeMillis();
for(int i = 0; i < 1000; i++) {
System.out.println("*"); //运行此循环所用的时间 毫秒
}
long end = System.currentTimeMillis();
System.out.println(end-start);
}
int[] arc = {12,45,23,56,34,23,12,65};
int[] a = new int[8];
System.arraycopy(arc, 0, a, 0, arc.length);
for(int i = 0; i < 8; i++) {
System.out.print(a[i] + " ");
}
输出
12 45 23 56 34 23 12 65
Math类的概述
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
Math方法的使用
返回 int 值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。 斜体也可变为float,double等类型
返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数
返回两个 int 值中较大的一个。 也可以是其他类型
返回第一个参数的第二个参数次幂的值。
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
public static int round(float a)
返回最接近参数的 int。
public static int round(double a)
返回最接近参数的 long。
public static double sqrt(double a)
返回正确舍入的 double 值的正平方根。
System.out.println(Math.pow(2, 0.5));//1.4142135623730951
System.out.println(Math.abs(-2));//2
System.out.println(Math.ceil(13.3));//14.0
System.out.println(Math.PI);//3.141592653589793
System.out.println(Math.floor(13.3));//13.0
System.out.println(Math.min(-10, 1));//-10
System.out.println((int)(Math.random()*100));//0-100之间的随机数,包含0不包含100
System.out.println(Math.round(18.8f)); //四舍五入 19
System.out.println(Math.sqrt(16));//4.0
Random类的概述
此类用于产生随机数如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
构造方法
Random r = new Random();
for(int i = 0; i < 5; i++) {
System.out.println(r.nextInt(100)); //生成0-100之间的随机数
}
BigInteger的概述
可以让超过Integer范围内的数据进行运算.其在java.math 包下,使用时需要导包
构造方法
public BigInteger(String val)
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
成员方法
public BigInteger add(BigInteger val) 返回其值为 (this + val) 的 BigInteger。
public BigInteger subtract(BigInteger val)
返回其值为 (this - val) 的 BigInteger。
public BigInteger multiply(BigInteger val)
返回其值为 (this * val) 的 BigInteger。
public BigInteger divide(BigInteger val)
返回其值为 (this / val) 的 BigInteger。
public BigInteger[] divideAndRemainder(BigInteger val)
返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。
BigInteger a = new BigInteger("100");
BigInteger b = new BigInteger("2");
System.out.println(a.add(b));
System.out.println(a.subtract(b));
System.out.println(a.multiply(b));
System.out.println(a.divide(b));
BigInteger[] c = a.divideAndRemainder(b);
for(int i = 0; i < c.length; i++) {
System.out.println(c[i]);
}
BigDecimal的概述
于在运算的时候,float类型和double很容易丢失精度,所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal。
不可变的、任意精度的有符号十进制数。
在 java.math 包下 使用时要导包
构造方法
BigDecimal bd1 = new BigDecimal("2.0"); //这种比较准确
BigDecimal bd2 = new BigDecimal("1.1");
System.out.println(bd2.subtract(bd1)); //-0.9
System.out.println(bd1.subtract(bd2));//0.9
System.out.println(bd1.multiply(bd2));//2.2
System.out.println(bd2.divide(bd1));//0.55
BigDecimal a = BigDecimal.valueOf(2.0);
BigDecimal b = BigDecimal.valueOf(1.1);
System.out.println(a.subtract(b)); //这种也比较准确
Date类的概述
类 Date 表示特定的瞬间,精确到毫秒。
构造方法
import java.util.Date;
public class Demon6_Date {
public static void main(String[] args) {
demon1();
// demon();
Date a = new Date();
a.setTime(1000); //设置毫秒值,改变时间对象
System.out.println(a);
}
private static void demon() {
Date a = new Date();
System.out.println(a.getTime());//通过时间对象获取毫秒值
System.out.println(System.currentTimeMillis());//通过系统类的方法获取毫秒值
}
private static void demon1() {
Date a = new Date();
System.out.println(a);
Date b = new Date(0);
System.out.println(b);
}
}
DateFormat类的概述
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。是抽象类,所以使用其子SimpleDateFormat
SimpleDateFormat构造方法
使用时需导包 java.text包下
import java.text.DateFormat;
public class Demon7_SimpleDateFomat {
public static void main(String[] args) throws ParseException {
demo();
// demon1();
// demo3();
// String a = "2000年12月31日 08:08:08";
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
// Date d = sdf.parse(a); //将时间字符串转化成日期对象
// System.out.println(d);
//Sun Dec 31 08:08:08 CST 200
}
private static void demo3() {
Date a = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf.format(a)); //将日期对象转化为字符串
//2019年06月15日 17:45:44
}
private static void demon1() {
Date a = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
System.out.println(sdf.format(a));//2019/6/15 下午5:48
}
private static void demo() {
DateFormat a = DateFormat.getDateInstance();
System.out.println(a);//java.text.SimpleDateFormat@3249f37
}
}