Math:数学运算的工具类
提供了成员方法都是静态的:
-
public static int abs(int a):绝对值
-
public static double ceil(double a):向上取整
-
public static double floor(double a):向下取整 源码使用居多
-
public static int max(int a, int b):取两个数据的较大值
-
public static int min(int a, int b):取两个数据的较小值
-
public static double pow(double a, double b):a的b次幂
-
public static double random():0.0-1.0之间的随机数(不包含1.0) (使用多)
-
public static long round(double a):四舍五入
-
public static double sqrt(double a):对一个正整数开平方根
随机数生成器Random类
构造方法:
-
public Random():产生一个随机数生产器 (使用居多)
-
public Random(long seed):创建随机数生成器的同时,给固定时间值 它产生的随机数永远是固定的
成员方法:
-
public int nextInt() :取值范围是int类型的范围(不用)
-
public int nextInt(int n):可以获取0-n之间的随机数,取不到n :[0,n)
- 获取随机数:两种
-
Math里面random方法 Math.random();
-
Random类 :nextInt(int n) 用法: Random()空参构造+nextInt(int n):获取随机数
针对浮点类型运算的时候进行精确计算:Java提供了BigDecimal
构造方法:
-
public BigDecimal(String val)
成员方法:
-
public BigDecimal add(BigDecimal augend) +加法
-
public BigDecimal subtract(BigDecimal subtrahend): -减法
-
public BigDecimal multiply(BigDecimal multiplicand) *:乘法
-
public BigDecimal divide(BigDecimal divisor):/ 除法
-
public BigDecimal divide(BigDecimal divisor, int roundingMode):除法: 参数1:商 参数2:保留的有效位数 参数3:舍入的模式ROUND_HALF_UP:(一般是四舍五入)
Calendar:
日历类:是一个抽象类,提供了获取年,月,日,时分秒等等相关日历时间
当前这个了类的构造方法:是一个protected:受保护的!
这个类如何实例化:
里面肯定一个静态的功能,返回值可能是该类本身!
-
public static Calendar getInstance():利用这个静态来进行Calendar实例化
-
public int get(int field):获取日历字段的内容!
成员方法:
- public abstract void add(int field, int amount):
-
给指定的字段添加或减去时间偏移量! 参数1:常量字段:YEAR,MONTH,DATE(DAY_OF_MONTH) 参数2:就是时间偏移量
设置指定的年月日
-
public final void set(int year,int month,int date)
构造方法:
-
Character(char value)
-
成员方法:判断功能: 判断当前字符是否为数字字符: public static boolean isDigit(char ch) 判断当前字符是否为大写字母字符: public static boolean isUpperCase(char ch) 判断当前字符是否为小写字母字符 public static boolean isLowerCase(char ch)
-
判断当前字符是否为数字字符: public static boolean isDigit(char ch) 判断当前字符是否为大写字母字符: public static boolean isUpperCase(char ch) 判断当前字符是否为小写字母字符 public static boolean isLowerCase(char ch)
java.util.Date:日期类
特定的瞬间,精确到毫秒;
- 构造方法:
- public Date():空参构造,创建日期对象
- 成员方法:
-
public long getTime()
-
:将Date--->long 类型时间毫秒值(自 1970 年 1 月 1 日 00:00:00 GMT )
-
long类型应用场景:
-
定义时间毫米值
重点:Date日期格式和日期文本格式的相互转换
public class DateFormatDemo {
public static void main(String[] args) throws ParseException {
//Date----->String :格式化
//1)创建日期Date对象
Date date = new Date() ;
//2)创建中间的桥梁:创建SimpleDateFormat对象(日期和文本的相互转换)
//指定一个模式:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;
//3)格式化: public final String format(Date date)
String str = sdf.format(date) ;
System.out.println(str);//2020-08-05
System.out.println("--------------------------------");
//将文本格式---->Date日期格式:解析
//定义文本日期格式
String dataStr = "2018-05-12" ;
//创建SimpleDateFormat
//此时里面注意:
//模式必须要日期文本格式的模式要匹配
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd") ;
// public Date parse(String source) throws ParseException:解析
//如果解析出问题了,JVM将异常的信息打印在控制台
Date date2 = sdf2.parse(dataStr) ;
System.out.println(date2);//Sat May 12 00:00:00 CST 2018
}
}
构造方法:参数:描述时间和日期的一种模式
- public SimpleDateFormat(String pattern)
System类中包含了一些字段以及相关的成员方法
字段:
int:标准的"输入流" 读取内容 (字节输入流)---->InputStream
out:标准的"输出流" 打印内容(字节打印流)---->PrintStream
err:"错误输出流" 针对内容由红色标记------>PrintStream
成员方法:
-
public static void gc() :手动开启垃圾回收器,jvm会将内存中不用的对象给回收掉
-
**实质调用finalize()方法**
- public static long currentTimeMillis():将当前系统时间换算成时间毫秒值
单独使用一般没有意义 -
public static void arraycopy(Object src,int srcPos,Object dest,int destPos, int length) 从指定源数组中的某个位置开始到指定目标数组的某个位置结束,指定多个长度 参数1:源数组对象 参数2:源数组中的某个索引值 参数3:目标数组对象 参数4:目标数组对象的某个索引值 参数5:复制的长度