十一、JavaSE进阶之其他常用类(日期类,数字化格式类)。

简介: 对日期类,数字化格式类等常用类的讲解

一、日期类(Date)


日期类在java.util包下,使用时必须导包。(除java.lang包之外其他的都要导包)


1.获取系统当前时间


import java.util.Date;
public class DateText {
    public static void main(String[] args) {
        Date date=new Date();
        System.out.println(date);
    }
}

运行结果:


Sun Jul 05 17:31:14 CST 2020

2.日期格式化


要进行日期格式化,必须调用SimpleDateFormat类()java.text包下)。

1.png2.png


(1)Date-------->String


yyyy年 MM月 d日 H时 m分 ss秒 SSS毫秒


public class DateText {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String s = sdf.format(new Date());
        System.out.println(s);
    }
}

运行结果:

2020-07-05 17:30:17 415

(2)String-------->Date


   

        String time="2020-07-05 17:30:36 456";
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        Date dateTime=simpleDateFormat.parse(time);
        System.out.println(dateTime);

运行结果:


Sun Jul 05 17:30:36 CST 2020


3.获取自1970年1月1日 00:00:00 000到系统当前时间的毫秒数

   

        long noTime=System.currentTimeMillis();
        System.out.println(noTime);

运行结果:

1593941943181

计算耗费毫秒的时长:

       long begin=System.currentTimeMillis();
        for(int i=0;i<100000;i++){
            System.out.println(i);
        }
        long end=System.currentTimeMillis();
        System.out.println("for循环耗费时长:"+(end-begin)+"毫秒!!");

运行结果:

for循环耗费时长:225毫秒!!


二、数字格式化类(java.text包)


1.数字格式化有哪些?


#任意数字,“,”千分位,“.”小数点,“0”不够位数补0.


2. DecimalFormat数字格式化


  ###,###.## 表示加入千分位,保留两个小数。
  ###,###.0000 表示加入千分位,保留4个小数,不够补0

(1)"###,###.##"


import java.text.DecimalFormat;
public class ShuZiGeShiHuaText {
    public static void main(String[] args) {
        DecimalFormat decimalFormat=new DecimalFormat("###,###.##");
        String s=decimalFormat.format(13123.265);
        System.out.println(s);
    }
}

运行结果:


13,123.26

(2)"###,###.0000"


        DecimalFormat decimalFormat=new DecimalFormat("###,###.0000");
        String s=decimalFormat.format(13123.25);
        System.out.println(s);

运行结果:


13,123.2500

3 .BigDecimal(java.math包)


处理更大精度的数据,财务软件中通常使用BigDecimal


        BigDecimal bigDecimal=new BigDecimal(100);
        BigDecimal bigDecimal1=new BigDecimal(200);
        BigDecimal bigDecimal2=bigDecimal.add(bigDecimal1);
        System.out.println(bigDecimal2);

运行结果:


300


三、产生随机数(java.util包)


1.产生任意int类型的数字

   

       Random random=new Random();
        int num=random.nextInt();
        System.out.println(num);

运行结果:


-748911331
1396142720
 。。。。


2.产生某个范围内的int型数字

   

        Random random=new Random();
        // 产生[0-100]的随机数。
        int num=random.nextInt(101);
        System.out.println(num);

运行结果:


71
17
。。。。。


四、枚举


1.枚举是一种引用数据类型。

2.枚举编译之后也是class文件。

3.枚举类型怎么定义?

    enum 枚举类型名{
      枚举值,枚举值2,枚举值3
    }

4.枚举中每一个值可以看做常量

5.当一个方法执行结果超过两种情况,并且是一枚一枚可以列举出来的时候,建议返回值类型设计为枚举类型。


定义一个颜色的枚举类:


public enum Colour {
    YEALLO,BIUE,BIACK,RED;
}

测试类:


public class EnumText {
    public static void main(String[] args) throws Exception{
      Colour colour = Colour.RED;
        if(colour==Colour.RED){
            System.out.println("红色!!");
        }
        if(colour==Colour.BIACK){
            System.out.println("黑色!!");
        }
        if(colour==Colour.BIUE){
            System.out.println("蓝色!!");
        }
        if(colour==Colour.YEALLO){
            System.out.println("黄色!!");
        }
    }
}


运行结果:

红色!!


相关文章
|
2月前
|
Java API
Java的日期类都是怎么用的
【10月更文挑战第1天】本文介绍了 Java 中处理日期和时间的三个主要类:`java.util.Date`、`java.util.Calendar` 和 `java.time` 包下的新 API。`Date` 类用于表示精确到毫秒的瞬间,可通过时间戳创建或获取当前日期;`Calendar` 抽象类提供丰富的日期操作方法,如获取年月日及时区转换;`java.time` 包中的 `LocalDate`、`LocalTime`、`LocalDateTime` 和 `ZonedDateTime` 等类则提供了更为现代和灵活的日期时间处理方式,支持时区和复杂的时间计算。
41 14
|
4月前
|
Java API 索引
【Java基础面试二十四】、String类有哪些方法?
这篇文章列举了Java中String类的常用方法,如`charAt()`、`substring()`、`split()`、`trim()`、`indexOf()`、`lastIndexOf()`、`startsWith()`、`endsWith()`、`toUpperCase()`、`toLowerCase()`、`replaceFirst()`和`replaceAll()`,并建议面试时展示对这些方法的熟悉度,同时深入理解部分方法的源码实现。
【Java基础面试二十四】、String类有哪些方法?
|
3月前
|
Java 索引
java基础扫盲-String类常用的方法
java基础扫盲-String类常用的方法
|
6月前
|
安全 Java 测试技术
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
【6月更文挑战第5天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
87 0
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
|
算法 安全 Java
【JavaSE专栏47】Java常用类Collections解析,你了解JAVA集合类的通用用法吗?
【JavaSE专栏47】Java常用类Collections解析,你了解JAVA集合类的通用用法吗?
180 2
|
前端开发 Java C++
用上Java的Enum枚举 玩一玩课堂点到
用上Java的Enum枚举 玩一玩课堂点到
|
存储 SQL 安全
【JavaSE专栏41】Java常用类 Date 解析,高效处理日期问题
【JavaSE专栏41】Java常用类 Date 解析,高效处理日期问题
234 0
|
安全 Java
【JavaSE专栏44】Java常用类Calender解析,科学处理Java日期数据
【JavaSE专栏44】Java常用类Calender解析,科学处理Java日期数据
270 0
|
存储 设计模式 Java
Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
378 0
Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符