zoukankan      html  css  js  c++  java
  • Java学习(十二)

    日期相关类

    Date类

    Date类表示特定的瞬间,精确到毫秒

    方法:

    • boolean after 测试此日期是否在指定日期之后
    • boolean before 测试此日期是否在指定日期之前
    • long getTime 返回自1970/1/1 00:00:00 GMT以来的毫秒数
    • void setTime 设置此Date对象,以表示1970/1/1 00:00:00 GMT以后time毫秒的时间点

    Dateformat抽象类与SimpleDateFormat类

    DateFormat类是抽象类,不能实例化,但它提供了大量的静态方法返回一个具体的子类,让我们可以用不同的方法格式化日期时间

    DateFormat类的getDateInstance方法返回一个将日期按照默认地区或者特定地区的方式格式化DateFormat对象。DateFormat的常量和getTimeInstance()方法的格式化风格的常量以及地区Locale对象的常量

        Date date=new Date();
        //DateFormat df=DateFormat.getDateInstance();//默认时间格式
        //DateFormat df=DateFormat.getDateInstanc(DateFormat.Full,Locale.CHINA);//中国格式
        DateFormat df=DateFormat.getTimeInstance(DateFormat.Full,Locale.CHINA);
        String time=df.forma(date);
    

    SimpleDateFormat类可以自定义格式输出时间日期,创建时需要传人一个日期和时间的格式字符串作为格式化模板。

        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒");
    

    有时候我们需要把字符串解析成日期时间,通过DateFormat和SimpleDateFormat类的parse()方法,可以从字符串创建一个Date对象

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd);
    String time="2016-1-1";
    Date date=sdf.parse(time);
    

    Calendar抽象类和GregorianCalendar类

    设置或获取日期数据的特定部分,Calendar类是一个抽象类,他的主要方法:

    • add()实现在某个日期上的增加若干天、年、月、小时等后的新日期
    • get()得到日期对象中的年、月、日、时、分、秒等
    • set()修改日期对象中的年、月、日、时、分、秒等
    • getInstance() 返回一个Calendar类型的对象实例

    因为Calendar类是一个抽象类,可以通过他唯一个具体的子类GregorianCalendar类来实例Calendar cal=new GregorianCalendar()

        GregorianCalendar day=new GregorianCalendar();
        GregorianCalendar day=new GregorianCalendar(2016,2,1);//在Java中因为第一个月食0,所以2代表的是3月
        GregorianCalendar day=new GregorianCalendar(2016,Calendar.March,1);//使用Calendar类中的常量
    

    数学运算相关类

    Math类

    数学工具类,常用的数学常数和数学方法都在该内的内部,无论常数和方法都是static类型,可以直接Math.方法名进行调用。

    随机数

    • 通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字,可以把这个当做随机数
    • 通过Math类的静态方法random()返回一个0到1之间的double值,我们可以把它乘以一定的数,比如10,他就是10以内的随机数
    • 通过Random类来产生一个随机数

    Random类更专业,功能更强大

        Random r=new Random();
        Random r1=new Random(10);
    

    我们也可以调用该对象的不同方法,随机生成int、long、double、float、boolean类型等不同类型的随机数

        int r=new Random().nextInt();
        Random random=new Random(100L);//带种子的测试Random对象
        //Random random=new Random();
        //random.setSeed(100L);
    

    包装类与自动装箱拆箱

    基础数据类型对应的包装类

    • boolean--------Boolean
    • byte--------Byte
    • short--------Short
    • int--------Integer
    • long--------Long
    • char--------Character
    • float--------Float
    • double--------Double

    所有的包装类都是final类型,不能创建他们的子类
    包装类是不可变类。一旦创建了一个包装类的对象,那么它所包含的基本类型数据就不能改变

  • 相关阅读:
    【博弈】UVA10561 Treblecross
    2021牛客暑期多校训练营2 部分题解
    2021牛客暑期多校训练营1 部分题解
    变量
    第六次作业
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    c#下载网页源码的两种方法
  • 原文地址:https://www.cnblogs.com/yeruheqi/p/5475606.html
Copyright © 2011-2022 走看看