1.时间相关类
1.1 Date(获取时间)
Date date1 = new Date(); // 调用无参数构造函数
System.out.println(date1.toString()); // 输出:Wed May 18 21:24:40 CST 2016
Date date2 = new Date(60000); // 调用含有一个long类型参数的构造函数(6w毫秒=1小时)
System.out.println(date2); // 输出:Thu Jan 01 08:01:00 CST 1970
Date 类中的部分核心方法:
boolean after(Date when) // 判断此日期是否在指定日期之后
boolean before(Date when) // 判断此日期是否在指定日期之前
int compareTo(Date anotherDate) // 比较两个日期的顺序
boolean equals(Object obj) // 比较两个日期的相等性
long getTime() // 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来,此 Date 对象表示的毫秒数
String toString() // 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy。
// 其中 dow 是一周中的某一天(Sun、Mon、Tue、Wed、Thu、Fri 及 Sat)
1.2 Calendar(设置时间)
单例模式
Calendar c = Calendar.getInstance();
Calendar可以设置时间,然后拿设置的时间进行操作
Calendar calendar = Calendar.getInstance(); // 如果不设置时间,则默认为当前时间
calendar.setTime(new Date()); // 将系统当前时间赋值给 Calendar 对象
System.out.println("现在时刻:" + calendar.getTime()); // 获取当前时间(Date)
int year = calendar.get(Calendar.YEAR); // 获取当前年份
int month = calendar.get(Calendar.MONTH) + 1; // 获取当前月份(月份从 0 开始,所以加 1)
int day = calendar.get(Calendar.DATE); // 获取日
int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 获取今天星期几(以星期日为第一天)
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 获取当前小时数(24 小时制)
int minute = calendar.get(Calendar.MINUTE); // 获取当前分钟
int second = calendar.get(Calendar.SECOND); // 获取当前秒数
int millisecond = calendar.get(Calendar.MILLISECOND); // 获取毫秒数
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // 获取今天是本月第几天
int dayOfWeekInMonth = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); // 获取今天是本月第几周
int many = calendar.get(Calendar.DAY_OF_YEAR); // 获取今天是今年第几天
Calendar c = Calendar.getInstance();
c.set(2012, 8, 8); // 设置年月日,时分秒将默认采用当前值
System.out.println("设置日期为 2012-8-8 后的时间:" + c.getTime()); // 输出时间(Date)
1.3 SimpleDateFormat(D<->S)
作用是 Date 和 String 以指定格式转换
public class Main{
public static void main(String[] args){
// 构造函数传入转化格式(H 24,h 12)
SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
sdf.format(new Date); // Date -> String
sdf.parse("2000-01-02 10:11:12") // String -> Date
}
}
2.Math
都是静态方法
import java.lang.*;
public class TestMath {
public static void main(String[] args) {
System.out.println(Math.abs(-2.0)); //绝对值
System.out.println(Math.sqrt(64.0)); //平方根,8
System.out.println(Math.max(56,78)); //两者之间较大的
System.out.println(Math.min(56,78)); //两者之间较小的
System.out.println(Math.random()); //随机数
System.out.println(Math.pow(2,10)); //幂,1024
System.out.println(Math.ceil(18.36)); //向上取整,19.0
System.out.println(Math.floor(18.66)); //向下取整,18.0
System.out.println(Math.round(11.5)); //四舍五入,12
System.out.println(Math.round(-11.5)); //四舍五入,-11
}
}
其他方法
sin(double a) 返回角的三角正弦。
cos(double a) 返回角的三角余弦。
tan(double a) 返回角的三角正切。
log(double a) 返回 double 值的自然对数(底数是 e)。
log10(double a) 返回 double 值的底数为 10 的对数。
acos(double a) 返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。
asin(double a) 返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
atan(double a) 返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
atan2(double y, double x) 将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。
3.Random
import java.util.Random;
public class Test06 {
public static void main(String[] args) {
Random r = new Random(); // 需要new
double d1 = r.nextDouble(); // 生成[0,1.0]区间的小数
double d2 = r.nextDouble() * 7; // 生成[0,7.0]区间的小数
int i1 = r.nextInt(10); // 生成[0,10]区间的整数
int i2 = r.nextInt(18) - 3; // 生成[-3,15]区间的整数
long l1 = r.nextLong(); // 生成一个随机长整型值
boolean b1 = r.nextBoolean(); // 生成一个随机布尔型值
float f1 = r.nextFloat(); // 生成一个随机浮点型值
}
}
4.File
public class Test02 {
public static void main(String[] args) {
String path = "C:/windows/"; // 指定文件所在的目录
File f = new File(path, "notepad.exe"); // 建立File变量,并设定由f变量引用
System.out.println("C:\\windows\\notepad.exe文件信息如下:");
System.out.println("============================================");
System.out.println("文件长度:" + f.length() + "字节");
System.out.println("文件或者目录:" + (f.isFile() ? "是文件" : "不是文件"));
System.out.println("文件或者目录:" + (f.isDirectory() ? "是目录" : "不是目录"));
System.out.println("是否可读:" + (f.canRead() ? "可读取" : "不可读取"));
System.out.println("是否可写:" + (f.canWrite() ? "可写入" : "不可写入"));
System.out.println("是否隐藏:" + (f.isHidden() ? "是隐藏文件" : "不是隐藏文件"));
System.out.println("最后修改日期:" + new Date(f.lastModified()));
System.out.println("文件名称:" + f.getName());
System.out.println("文件路径:" + f.getPath());
System.out.println("绝对路径:" + f.getAbsolutePath());
}
}