API2
Math:
代表数学,是一个工具类,里面提供的是对数据进行操作的一些静态方法。
常见方法:
// 方法名
public static int abs(int a) // 获取参数绝对值
public static double ceil(double a) // 向上取整
public static double floor(double a) // 向下取整
public static int round(float a) // 四舍五入
public static int max(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
:System
代表程序所在的系统,也是一个工具类。
常见方法:
// 方法名
public static void exit(int status) // 终止当前运行的Java虚拟机。
public static long currentTimeMills() // 返回当前系统的时间毫秒值形式。返回long类型,做代码性能测试,指的是从1970- 1-1 0:0:0开始走的总毫秒 1s = 1000.0ms c语言的生日
Runtime
代表程序所在的运行环境 Runtime是一个单例类
常见方法:
// 方法名
public static Runtime getRuntime() // 返回与当前Java应用程序关联的运行时对象
public void exit(int status) //终止当前 运行的虚拟机
public int availableProcessors() // 返回Java虚拟机可用的处理器数
public long totalMemory() // 返回Java虚拟机中的内存总量
public long freeMemory() // 返回Java虚拟机中的可用内存
public Process exec(String command) // 启动某个程序,并返回代表该程序的的对象。
BigDecimal
// 构造器
public BigDecimal(double val) // 将double转换成BigDecimal 不推荐
public BigDecimal(String val) // 把String转成BigDecimal
// 方法名
public static BigDecimal valueOf(double val)// 转换一个double成BigDecimal
public BigDecimal add(BigDecimal b) // 加法
public BigDecimal subtract(BigDecimal b) // 减法
public BigDecimal multiply(BigDecimal b) // 乘法
public BigDecimal divide(BigDecimal b) // 除法
public BigDecimal divide(另一个BigDecimal对象,精确几位,舍入模式) // 除法,可以控制精确到小数几位
public BigDecimal doubleValue() // 将BigDecimal转成double
Date
代表系统的日期和时间
// 构造器
public Date() // 创建一个Date对象,代表的是系统当前此刻日期时间
public Date(long time) // 把时间毫秒值转成Date日期对象
// 常见方法
public long getTime() //返回从1970年1月1日 00:00:00走到此刻 的总的毫秒数
public void setTime() // 设置日期对象的时间为当前时间毫秒值对应的时间
SimpleDateFormat
:
代表简单日期格式化,可以用来把日期对象,时间毫秒值格式化成用户想的。
// 常见构造器
public SimpleDateFormat(String pattern) // 创建简单日期格式化对象,并封装时间的格式
// 方法
public final String format(Date date) // 将日期格式化成日期/时间字符串
public final String format(Object time) //将时间毫秒值格式化日期/时间字符串
public Date parse(String source) // 把字符串时间解析成日期对象
Calendar:
代表的是此刻系统对应的日历,通过他可单独取出,修改时间中的年、月 、日、时、分、秒
// 方法
public static Cankendar getInstance() //获取当前日历对象
public int get(int field) // 获取日历中的某个信息
public final Date getTime() // 获取日期对象
public long getTimeInMillis() // 获取时间毫秒值
public void set(int field ,int value) // 修改日历的某个信息
public void add(int field ,int amount) // 为某个信息增加/减少指定的值
特点:calendar是可变对象,一旦修改其对象本身表示的时间将产生变化
jdk8
的时间变化:
之前:1,设计不合理,使用不方便,很多被淘汰
2,都是可变对象,修改后会丢失最开始的时间信息
3,线程不安全
4,只能精确到秒
新增API:设计更合理,功能丰富,使用更方便
2,都是不可变对象,修改后会返回新的时间对象,不会丢失最开始的时间
3,线程安全
4,能精确到毫秒,纳秒。