Java 基础入门 | 第十一章 Java 常用类库之util包和text包

简介: 目录java.util包java.util.Date类java.util.Calendar类java.text包java.text.DateFormat类java.text.SimpleDateFormat类java.text.NumberFormat类java.text.DecimalFormat类作业java.util包java.util包中放置了Java开发过程中常用的工具

java.util包

java.util包中放置了Java开发过程中常用的工具类,如日期时间类,日历类等等

java.util包常用类

    • Date
    • Calendar及其子类
    • 集合接口以及实现类
    • 集合工具类
    • 数组工具类等等

    java.util.Date类

    Date类表示特定的时间,可以精确到毫秒。

    Date类的构造方法

    Date() 无参构造方法

    Date(long time) 有长整形参数的构造方法

    其他构造方法已经废弃不用

    Date类常用方法

    long  getTime();返回1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数

    String toString();将Date对象转换为字符串,默认的转换格式为:dow mon dd hh:mm:ss zzz yyyy

    java.util.Calendar类

     

    java.util.Date类中获取当前年、月、日和将时间格式化以及将字符串类型的日期转换为Date对象的方法都已经被废弃。

    如果想要获取Date对象的年、月、日、星期等操作,需要使用Calendar类以及其子类完成。

    Calendar是一个抽象类,它为获取和修改年、月、日、星期等日历字段提供了一系列的方法。

    Calendar常用方法

      • Calendar getInstance();返回一个Calendar对象
      • void set(int field,int x);设置日历字段的值
      • int get(int field);获取某个日历字段的值
      • java.util.Date getTime();返回代表该日历对象的Date值
      • void setTime(java.util.Date date);使用指定的Date设置该日历对象

      常用的日历字段

        • AM_PM 上午或者下午
        • YEAR 年
        • MONTH 月
        • DATE 日
        • HOUR 12小时制
        • HOUR_OF_DAY 24小时制
        • MINUTE 分钟
        • SECOND 秒
        • MILLISECOND 毫秒

        GregorianCalendar是Calendar的一个直接子类

        提供了世界上大多数国家/地区使用的标准日历系统,即中国所谓的阳历或者公历

        常用方法

          • boolean isLeapYear(int year) 判断指定年份是不是闰年
          • void add(int field ,int x)为指定的日历字段增加值

          java.text包

          提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口

          java.text包常用类或者接口

            • DateFormat以及子类SimpleDateFormat
            • NumberFormat以及子类DecimalFormat

            java.text.DateFormat类

              • DateFormat是一个抽象的时间格式化类
              • DateFormat 是日期/时间格式化的抽象类,它以与语言无关的方式格式化并解析日期或时间。
              • DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。
              • 在格式化和解析日期时间过程中,其子类SimpleDateFormat更为常用

              java.text.SimpleDateFormat类

              SimpleDateFormat类是一个以与语言环境有关的方式来格式化和解析日期的具体类

              它提供了格式化日期时间(日期时间>>字符串)和解析日期时间(字符串>>日期时间)的方法

              SimpleDateFormat构造方法

                • SimpleDateFormat()
                • SimpleDateFormat(String pattern) 按照指定的模式创建SimpleDateFormat对象

                日期时间模式

                image.gif编辑

                常用方法

                  • String format(Date date);将一个java.util.Date对象按照指定的模式格式化为日期
                  • Date parse(String date);将一个日期字符串按照指定模式解析为java.util.Date类型的对象

                  代码示例

                  import java.text.ParseException;
                  import java.text.SimpleDateFormat;
                  import java.util.Date;
                  public class SimpleDateFormatTest {
                      public static void main(String[] args) {
                          //根据指定模式创建SimpleDateFormat对象
                          SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
                          //创建日期对象
                          Date date=new Date();
                          //将Date对象按照yyyy年MM月dd日的模式格式化为字符串
                          String text=sdf.format(date);
                          //输入内容类似于2022年02月03日
                          System.out.println(text);
                          //创建字符串类型日期
                          String dateStr="2022年02月03日";
                          try {
                              //将字符串日期按照yyyy年MM月dd日的模式解析为Date对象
                              Date date1=sdf.parse(dateStr);
                              //输入解析的时间对象
                              System.out.println(date1);
                          } catch (ParseException e) {
                              //打印出解析字符串时间的异常
                              e.printStackTrace();
                          }
                      }
                  }

                  image.gif

                  java.text.NumberFormat类

                  NumberFormat是一个数字格式化抽象类

                  该类提供了格式化和解析数值的方法

                  常用方法

                    • String format(double d)将数字格式化为字符串
                    • Number parse(String s)将字符串解析为数字
                    • void  setMaximumFractionDigits(int newValue)设置最大小数位
                    • void  setMinimumFractionDigits(int newValue) 设置最小小数位

                    通常情况下会使用其子类DecimalFormat格式化或者解析数字

                    java.text.DecimalFormat类

                    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。

                    构造方法

                      • DecimalFormat()
                      • DecimalFormat(String pattern)按照指定模式构建对象

                      数字模式字符

                      image.gif编辑

                       

                      常用方法

                        • String format(double d);格式化数字为字符串
                        • Number parse(String str);解析字符串数字为Number对象

                        代码示例

                        import java.text.DecimalFormat;
                        import java.text.ParseException;
                        public class DecimalFormatTest {
                            public static void main(String[] args) {
                                //创建#,###,###.0模式的DecimalFormat对象
                                DecimalFormat df=new DecimalFormat("#,###,###.0");
                                //创建一个double类型的数字
                                double digit=12345667.9234;
                                //将digit格式化为#,###,###.0模式的字符串
                                String text=df.format(digit);
                                //输出数字格式化后的字符串
                                System.out.println(text);
                                try {
                                    //解析文本为#,###,###.0模式的字符串为数字
                                    Number num= df.parse("1234,032.2131");
                                    //输出解析后的数字
                                    System.out.println(num);
                                } catch (ParseException e) {
                                    //打印解析异常
                                    e.printStackTrace();
                                }
                            }
                        }

                        image.gif


                        相关文章
                        |
                        5月前
                        |
                        存储 Oracle Java
                        java零基础学习者入门课程
                        本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
                        487 0
                        |
                        6月前
                        |
                        Java
                        java入门代码示例
                        本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
                        519 0
                        |
                        6月前
                        |
                        Java API 数据库
                        2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
                        2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
                        2071 0
                        |
                        6月前
                        |
                        前端开发 Java 数据库连接
                        帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
                        本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
                        829 3
                        |
                        6月前
                        |
                        监控 Java API
                        2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
                        2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
                        1411 0
                        |
                        5月前
                        |
                        JSON 网络协议 安全
                        【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
                        几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
                        277 1
                        |
                        5月前
                        |
                        JSON 网络协议 安全
                        【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
                        几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
                        295 1
                        |
                        6月前
                        |
                        数据采集 存储 弹性计算
                        高并发Java爬虫的瓶颈分析与动态线程优化方案
                        高并发Java爬虫的瓶颈分析与动态线程优化方案
                        Java 数据库 Spring
                        261 0
                        |
                        6月前
                        |
                        算法 Java
                        Java多线程编程:实现线程间数据共享机制
                        以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
                        449 16