Math 类
包含用于执行基本数学运算的方法,是一个数学类
Math 类没有构造方法, 全部是静态方法
Math类的一些常规方法:
public static double abs(double a)
//获取绝对值
public static double acos(double a)
//求反余弦值
public static double cbrt(double a)
//求立方根
public static double ceil(double a)
//向上取整 1.2 ==> 2 1.7 ==>2
public static double exp(double a)
//求幂函数
public static int min(int a,int b)
//求最小值
public static int max(int a,int b)
//求最大值
public static double pow(double a,double b)
//返回第一个参数的第二个参数次幂的值
public static double random()
//产生随机数 ( 大于等于 0.0 且小于 1.0 的 伪随机数 ,double 值。)
public static double sqrt(double a)
// 返回正的平方根
System类
包含一些有用的类字段和方法,它不能被实例化,因此也没有构造
常规的常量
System.in
//标准的输入流
System.out
//标准的输出流
System.err
//在控制台红色的打印
System.err.println
// 一般用于异常的输入
public static long currentTimeMillis()
//获取系统当前的毫秒值 是从 1970 01-01 开始计算
public static void exit(int status)
//终止jvm 运行,参数是0表示正常终止,非0非正常终止.
public static void gc()
回收垃圾
在开发里常常遇到gc问题:
1.内存溢出
2.内存已经满了,没有空间来开辟新的东西了
3.内存泄漏 : 该回收的对象没有被回收
gc : 垃圾回收器
1.什么样的对象会被回收:
没有任何引用的对象会被回收
2. gc 回收的原则 :
1.计数算法 :当这个对象被持有引用时都会+1, 当这个对象的计数是0时,表示其可以被回收了
2.可欲达算法 :如果想要一个变量快速回收:使用弱引用或者软引用 (使用强引用 : static 变量就是强引用,最难被回收.)
回收情况:
1.出现gc()会被回收
2. 当堆内存快满的时候,也会去回收这个变量
Date
是一个时间对象,需要进行导包: java.util.Date
构造方法: public Date()
//返回的是当前系统的时间
public Date(long date)
//传入的是毫秒值
常规的方法 :
public long getTime()
//得到设置的时间毫秒值
public long setTime()
//设置时间毫秒值
对时间进行格式化: DateFormat
是一个时间格式化类 , 不能够被实例化
具体的子类 SimpleDateFormat
格式化的方法: public String format(date)
// 返回的是一个字符串
public Date parse(String text)
//把时间字符串转换成Date对象
new simpleDateFormat().format(Date)
//把Date 对象 转换为字符串格式
new simpleDateFormat().parse("2018-08-15")
//把标准的时间字符串格式 转换成一个Date对象
获取当前Date毫秒值
-
第一种通过 Date 对象
new Date().getTime()
-
获取系统当前的毫秒值:
System.currentTimeMillis()
Calendar:
导包 java.util.Calendar
Calendar是一个日历对象
Calendar 类是一个抽象类,不能被实例化
通过调用 Calendar.getInstance( )获取 Calendar
常用的方法
获取 :
public int get(int field)
常规的一些常量:
1.获取当前的年份
Calendar.YEAR
2.获取月份
Calendar.MONTH //这个月份需要-1
3.获取日
Calendar.DAY_OF_MONTH
4.获取小时
Calendar.HOUR_OF_DAY
5.获取分钟
Calendar.MINUTE
6.获取秒
Calendar.SECOND
7.获取星期几
Calendar.DAY_OF_WEEK //(获取星期的时候需要 -1)
8.获取当前的时区
cla.getTimeZone()
9.表示上午: 获取的是
Calendar. AM
10.表示下午: 获取的是
Calendar.PM
设置时间:
public final void set(int year,int month,int date,int hourOfDay, int minute)
总结:
今天的学习内容相对较少,但是还是需要更多的使用学习的方法才能更好地记忆。
疑问:
Date类和Calendar类的区别?