基本数据类型的包装类: byte --> Byte short --> Short int --> Integer long --> Long float --> Float double --> Double char --> Character boolean --> Boolean 自动拆装箱: 自动装箱: 基本-->包装 自动拆箱: 包装-->基本
枚举: 表示一种事物的所有情况|可能,这个类型的实例由枚举类自己控制提供,(程序员确定已知) 枚举也是一个类,定义枚举类使用关键enum 所有的枚举类都会隐式的继承自java.lang.Enum类 在枚举类中,枚举类中的成员|枚举常量,作为当前枚举类的一个实例存在,默认被public static final修饰 枚举类的构造器默认private修饰,不允许外部通过new关键字创建对象
Date 类 注意: 1.java.util包下的Date日期类 构造器: Date() 创建当前时间的日期对象 Date(long date) 表示从1970年1月1日00:00:00开始的多少ms以后的日期时间
public class DateDemo05 {
public static void main(String[] args) {
//日期对象
Date date = new Date();
System.out.println(date);
long ms = date.getTime();
System.out.println(ms); //1606891155058
Date date2 = new Date(1606891155058L);
System.out.println(date2);
/*
boolean after(Date when) 测试此日期是否在指定日期之后。
boolean before(Date when) 测试此日期是否在指定日期之前。
int compareTo(Date anotherDate) 比较两个日期的订购。
boolean equals(Object obj) 比较两个相等的日期。
*/
System.out.println(date.after(date2)); //true
System.out.println(date.before(date2)); //false
System.out.println(date.equals(date2)); //false
System.out.println(date.compareTo(date2)); //1
//获取当前时间的毫秒数
System.out.println(System.currentTimeMillis());
System.out.println(new Date().getTime());
System.out.println(date.toString());
}
}
SimpleDateFormat 日期格式化类 SimpleDateFormat() 构造一个 SimpleDateFormat使用默认模式和日期格式符号默认 FORMAT区域设置。 format (Date) 日期对象转为字符串 parse(String) 字符串转为日期对象
public class SimpleDateFormatDemo06 {
public static void main(String[] args) throws ParseException {
//默认格式的转换器
SimpleDateFormat simple = new SimpleDateFormat(); //2020/12/2 下午2:52
SimpleDateFormat simple2 = new SimpleDateFormat("yyyy-MM-dd E HH:mm:ss S");
Date date = new Date();
//日期对象转为字符串
System.out.println(simple.format(date));;
System.out.println(simple.parse("2020/1/1 下午2:52"));
System.out.println(simple2.format(date));;
System.out.println(simple2.parse("2020-12-02 周三 15:20:04 464"));
}
}
Date 线程不安全的日期类,日期可改变setTime().. Java8新增的日期类,线程安全的,日期不可改变,返回新的日期对象 Java8提供的重要的日期类: LocalDate LocalDateTime DateTimeFormatter
public class Java8Date08 {
public static void main(String[] args) {
System.out.println("年份:"+ Year.now());
System.out.println("年份:"+ Year.of(2008));
//月份: Month : 枚举类
System.out.println(Month.of(10));
//LocalDate 年月日
System.out.println(LocalDate.now());
System.out.println(LocalDate.of(2020,Month.of(2),02));
System.out.println(LocalDate.of(2020,Month.AUGUST,02));
//您的生日
LocalDate yourBirthDate = LocalDate.of(1999, Month.JUNE, 15);
System.out.println("生日:"+yourBirthDate);
//您的学习时间
LocalDateTime dateTime = LocalDateTime.of(2020, 2, 25, 12, 30,40);
System.out.println("时间:"+dateTime);
//格式化日期转换
//日期转换器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//格式化日期字符串
LocalDateTime now = LocalDateTime.now();
//format(格式器) 成员方法
String nowStr = now.format(formatter); //放入格式器
System.out.println(nowStr); //2020-12-02 15:54:51
//parse(日期字符串,格式器) 静态方法
LocalDateTime time = LocalDateTime.parse("2020-12-02 15:54:51",formatter);
System.out.println(time);
//日期类存再系列的get方法
System.out.println(time.getYear());
System.out.println(LocalDate.now().getYear());
System.out.println(LocalTime.now().getMinute());
//日期计算系列类
LocalDate today = LocalDate.now();
LocalDate birthDate = LocalDate.of(2010, 11, 1);
//时期间隔 年月日
Period p = Period.between(birthDate, today);
System.out.println(p.getYears()+"年"+p.getMonths()+"月"+p.getDays()+"日");
//瞬间
Instant inst1 = Instant.now();
Instant inst2 = inst1.minus(Duration.ofSeconds(10));
System.out.println(inst1);
System.out.println(inst2);
System.out.println("毫秒相隔 : " + Duration.between(inst1, inst2).toMillis());
System.out.println("秒相隔 : " + Duration.between(inst1, inst2).getSeconds());
}
}
Math数学类 静态工厂 Math包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。
public class MathDemo07 {
public static void main(String[] args) {
//static double abs(double a) 返回 double值的绝对值。
System.out.println(Math.abs(-1.1));
//向上取整
//static double ceil(double a) 返回大于或等于参数且等于数学整数的最小值(最接近负无穷大) double 。
System.out.println(Math.ceil(1.0)); //1.0
System.out.println(Math.ceil(1.1)); //2.0
System.out.println(Math.ceil(-1.1)); //-1.0
//向下取整 floor(double)
System.out.println(Math.floor(3.5));
System.out.println(Math.floor(3.0));
//static long max(long a, long b) 返回两个 long值中较大的 long 。
//static double min(double a, double b) 返回两个 double值中较小的 double 。
System.out.println(Math.max(1.1,2.2));
System.out.println(Math.max('a','b'));
//static double random() 返回带有正号的 double值,大于或等于 0.0且小于 1.0 。 [0.0,1.0)
//随机整数 [min,max) (int)(Math.random()*(max-min)+min)
//随机整数 [min,max] (int)(Math.random()*(max-min+1)+min)
System.out.println(Math.random());
//[1,5]
System.out.println((int)(Math.random()*(5-1+1)+1));
System.out.println(Math.round(11.5));
System.out.println(Math.round(-11.5));
}
}
public class FileDemo09 {
public static void main(String[] args) throws IOException {
/*
File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。
*/
File file1 = new File("D:/haha.txt"); //不存在
File file2 = new File("D://ceshi"); //存在
File file3 = new File("D:\\test.txt"); //转义字符从\开始
File file4 = new File("D:/AAA","haha");
File file5 = new File(file1,"hehe");
System.out.println(file1);
System.out.println(file2);
System.out.println(file3);
System.out.println(file4);
System.out.println(file5);
//boolean setReadOnly() 标记此抽象路径名指定的文件或目录,以便仅允许读取操作。
System.out.println(file3.setReadOnly());
//boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
System.out.println(file3.canWrite());
//boolean createNewFile() 当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件
System.out.println(file1.createNewFile());
//static File createTempFile(String prefix, String suffix, File directory) 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
System.out.println(File.createTempFile("houhou",".java",file2));
//boolean delete() 删除此抽象路径名表示的文件或目录。
System.out.println(new File("D:\\shsxt\\houhou7034410275089609880.java").delete());
//exists() 存在
System.out.println(file1.exists());
System.out.println(file5.exists());
File file6 = new File("HEHE.txt");
File file7 = new File("D:/");
System.out.println(file6);
//File getAbsoluteFile() 返回此抽象路径名的绝对形式。
System.out.println(file6.getAbsoluteFile());
//String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
System.out.println(file6.getAbsolutePath());
if(!file6.exists()){
System.out.println(file6.createNewFile());
}
//long getFreeSpace() 通过此抽象路径名返回分区 named中未分配的字节数。
System.out.println(file7.getFreeSpace()); //981714411520
//String getName() 返回此抽象路径名表示的文件或目录的名称。
System.out.println(file1.getName());
System.out.println(file2.getName());
//String getParent() 返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。
//File getParentFile() 返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回 null 。
System.out.println(file4.getParent());
System.out.println(file4.getParentFile());
//long getTotalSpace() 通过此抽象路径名返回分区 named的大小。
//long getUsableSpace() 通过此抽象路径名返回分区 named上此虚拟机可用的字节数。
System.out.println(file7.getTotalSpace());
//boolean isAbsolute() 测试此抽象路径名是否为绝对路径。
//boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。
//boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。
System.out.println(file6.isAbsolute());
System.out.println(file1.isAbsolute());
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
//long lastModified() 返回上次修改此抽象路径名表示的文件的时间。
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file3.lastModified())));
//long length() 返回此抽象路径名表示的文件的长度
System.out.println(file1.length());
//String[] list() 返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。
//File[] listFiles() 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
System.out.println(Arrays.toString(file2.list()));
System.out.println(Arrays.toString(file2.listFiles()));
File file8 = new File("D:/BBB");
//boolean mkdir() 创建此抽象路径名指定的目录。
if(!file8.exists()){
System.out.println(file8.mkdir());
}
//boolean mkdirs() 创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。
System.out.println(file4.mkdirs());
//boolean renameTo(File dest) 重命名此抽象路径名表示的文件。
File src = new File("D:/heihei.txt");
System.out.println(file1.renameTo(new File("D:/heihei.txt")));
//跨盘符: 使用IO移动文件,拷贝文件
System.out.println(src.renameTo(new File("C:/lalala.txt")));
}
}