JAVA基础知识点15-基本数据类型的包装类、枚举、Date、SimpleDateFormat 日期格式化类、Math数学类

基本数据类型的包装类:

      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")));

    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值