System
成员方法和成员变量全部都是静态的
成员方法
public static void gc()运行垃圾回收器
例如:
Student student=new Student("旺财",20);
System.out.println(student);
student=null;
System.gc();
public static void exit(int status) 终止当前正在运行的 Java 虚拟机非 0 的状态码表示异常终止
public static long currentTimeMillis()返回以毫秒为单位的当前时间
返回:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)
public static void arraycopy(Object src, int srcPos,Object dest, int destPos, int length)复制数组
参数:
src - 源数组
srcPos - 源数组中的起始位置
dest - 目标数组
destPos - 目标数据中的起始位置
length - 要复制的数组元素的数量
Random
构造方法
public Random()创建一个新的随机数生成器
public Random(long seed)以后每次生成相同的随机数
参数:seed - 初始种子
成员方法
public int nextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值
Math
成员变量和成员方法全都是静态
成员方法
public static int abs(int a)返回 int 值的绝对值
public static double ceil(double a)向上取整
public static double floor(double a)向下取整
public static int max(int a, int b)返回两个 int 值中较大的一个
例如:
System.out.println("Math.max(1, 9) : " + Math.max(1, 9));
System.out.println("Math.max(Math.max(1, 10), 9)) : " + Math.max(Math.max(1, 10), 9));
public static double pow(double a, double b)返回第一个参数的第二个参数次幂的值
public static double random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
例如:
System.out.println(“随机数:”+(int)(Math.random()*100+1));
public static long round(double a)四舍五入
public static double sqrt(double a)平方根
BigInteger
Integer的取值范围:--231 - 2^31-1
构造方法
public BigInteger(String val)
成员方法
public BigInteger add(BigInteger val)加法
public BigInteger subtract(BigInteger val)减法
public BigInteger multiply(BigInteger val)乘法
public BigInteger divide(BigInteger val)除法
public BigInteger[] divideAndRemainder(BigInteger val)返回存储商和余数的BigInteger 的数组
BigDecimal
防止精度丢失
构造方法
public BigDecimal(String val)将 BigDecimal 的字符串表示形式转换为 BigDecimal
成员方法
(加减乘除省略)
public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)取长度余数
参数:
divisor - 此 BigDecimal 要除以的值
scale - 要返回的 BigDecimal 商的标度
roundingMode - 要应用的舍入模式
例如:
BigDecimal bigDecimal = new BigDecimal("1.351");
BigDecimal bigDecimal1 = new BigDecimal("100");
System.out.println(bd1.divide(bd2, 3, BigDecimal.ROUND_HALF_UP));//四舍五入
Date
类 Date 表示特定的瞬间,精确到毫秒
构造方法
public Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)
public Date(long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数
成员方法
public long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数
例如:
System.out.println(date.getTime());
public void setTime(long time)设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点
例如:
Date date=new Date();
date.setTime(1000000);
System.out.println(date);
DateFormat
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间
SimpleDateFormat
是一个以与语言环境有关的方式来格式化和解析日期的具体类
构造方法
public SimpleDateFormat()用默认的模式和默认语言环境的日期格式符号构造
public SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造
成员方法
public final String format(Date date)将一个 Date 格式化为日期/时间字符串
参数:date - 要格式化为时间字符串的时间值
返回:已格式化的时间字符串
例如:
Date date=new Date();
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf1.format(date));
public Date parse(String source) throws ParseException从给定字符串的开始解析文本,以生成一个日期,该方法不使用给定字符串的整个文本
例如:
String date="2017年12月15日 18:56:12";
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf1.parse(date));
Calendar
构造方法
public static Calendar getInstance()使用默认时区和语言环境获得一个日历,返回的 Calendar 基于当前时间使用了默认时区和默认语言环境
返回:一个 Calendar
例如:
Calendar calendar=Calendar.getInstance();
成员方法
public int get(int field)返回给定日历字段的值(月份范围[0-11])
参数:field - 给定的日历字段
返回:给定日历字段的值
例如:
Calendar calendar=Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH);
int date=calendar.get(Calendar.DATE);
System.out.println(year+"年"+(month+1)+"月"+date+"日");//month需要加1
public abstract void add(int field, int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量
例如:
calendar.add(Calendar.YEAR, 9);//正数:加
calendar.add(Calendar.MONTH, -9);//负数:减
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH);
System.out.println(year+"年"+(month+1)+"月"+date+"日");//month需要加1
public final void set(int year,int month, int date)设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
例如:
calendar.set(2019, 5, 1);
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH);
date=calendar.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");//month不用加1