Java常用类(Math类、Arrays类、Calendar类、Date类以及DataFormat类)

article/2025/1/17 3:18:15

目录

一、Math类

1.主要用途

2.如何使用

(1)导包

(2)记住常用的方法名

(3)选择适当的场景,对其应用

3.常用方法整理

二、Arrays类

1.主要用途

2.使用方式同Math类相同

3.常用方法

三、Calandar类(日历类)

1.主要用途

2.使用方法

3.总结

四、Date类以及SimpleDateFormat类

1.使用场景

2.使用方式

3.总结 

(1)方法总结

(2)自定义格式要求总结

五、使用案例举例

1.题目

2.示例

3.代码

六、全文思维导图


一、Math类

1.主要用途

        Java中的math类主要可以被我们使用在一些需要基本数学运算编写的代码当中,包括但不限于求最大最小绝对值、向上向下取整、求三角函数以及求指数。

2.如何使用

(1)导包

        这些常用类都是Java官方帮我写好的一些类,它保存在我们的电脑上面。如果我们想要对其使用,我们就必须将其导包。

(2)记住常用的方法名

        这些方法大多都是static修饰的静态方法,当我们想要对其使用的时候,我们必须通过类名.方法名的方式对其调用,因其记住其方法名是你可以熟练使用的第一步。

(3)选择适当的场景,对其应用

3.常用方法整理


二、Arrays类

1.主要用途

        arrays类主要被应用于对一些数组的处理,当我们可以熟悉的知道它中有的方法,我们便可以在编写程序的时候,对数组的快速且准确高效的处理。

2.使用方式同Math类相同

3.常用方法


三、Calandar类(日历类)

1.主要用途

        当我们在使用Java语言编写程序时,其中如果涉及到需要日期、时间、年月日等一系列的操作时,如果我们不可以很好的掌握这一个常用类及其中包含的常用方法时,我们将对这些问题无从下手。

2.使用方法

        Calander类为抽象类,说明我们不能通过new的方式来获得实例,因此Calendar提供了一个类方法getInstance(),以获得此类型的一个通用的对象。

        例:Calendar cr=Calendar.getInstance()

3.总结

calander类中常用属性以及注意事项


四、Date类以及SimpleDateFormat类

1.使用场景

(1)Date的使用场景

        当我们在编程时如果涉及到需要计算两个时间的时间差等问题时,我们往往需要使用的这个常用类。他所具有的实际含义是表示特定的瞬间与时间原点所距离的时间,精确到毫秒

        时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0。

(2)SimleDateFormat类的使用场景

        DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

        因为DateFormat类是一个抽象类,在实际应用时我们常常使用其直接子类SimpleDateFormat类。其作用就在于:我们可以通过其实现将我们输入的文本转化为日期,将日期转化为文本。

2.使用方式

         常常Date类和SimpleDateFormat类结合使用,Date类的出现是为了计算,而后者是为了架起用户输入信息和计算机处理信息的相通。

3.总结 

(1)方法总结

(2)自定义格式要求总结

y年份。一般用 yy 表示两位年份,yyyy 表示 4 位年份使用 yy 表示的年扮,如 11;
使用 yyyy 表示的年份,如 2011
M月份。一般用 MM 表示月份,如果使用 MMM,则会
根据语言环境显示不同语言的月份
使用 MM 表示的月份,如 05;
使用 MMM 表示月份,在 Locale.CHINA
语言环境下,如“十月”;在 Locale.US
语言环境下,如 Oct
d月份中的天数。一般用 dd 表示天数使用 dd 表示的天数,如 10
D年份中的天数。表示当天是当年的第几天, 用 D 表示使用 D 表示的年份中的天数,如 295
E星期几。用 E 表示,会根据语言环境的不同, 显示不
同语言的星期几
使用 E 表示星期几,在 Locale.CHINA 语
言环境下,如“星期四”;在 Locale.US 语
言环境下,如 Thu
H一天中的小时数(0~23)。一般用 HH 表示小时数使用 HH 表示的小时数,如 18
h一天中的小时数(1~12)。一般使用 hh 表示小时数使用 hh 表示的小时数,如 10 (注意 10 有
可能是 10 点,也可能是 22 点)
m分钟数。一般使用 mm 表示分钟数使用 mm 表示的分钟数,如 29
s秒数。一般使用 ss 表示秒数使用 ss 表示的秒数,如 38
S毫秒数。一般使用 SSS 表示毫秒数使用 SSS 表示的毫秒数,如 156

五、使用案例举例

1.题目

* 某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日
* 是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月
* 份的休息日,用中括号进行标记.同时,统计出本月有几天休息,轮到周末休息有
* 几天.(注:首次休息日是 2019 年 2 月 2 日)

2.示例

3.代码

package com.Linhai.Test4;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;/*** 某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日* 是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月* 份的休息日,用中括号进行标记.同时,统计出本月有几天休息,轮到周末休息有* 几天.(注:首次休息日是 2019 年 2 月 2 日)*/
public class Test_010301_002_01 {public static void main(String[] args) throws ParseException {View view = new View();view.input();Math.random();}
}class View {Scanner scanner = new Scanner(System.in);private int year;private int month;public void input() throws ParseException {Calendar calendar = Calendar.getInstance();System.out.print("请输入年:");year = scanner.nextInt();System.out.print("请输入月:");month = scanner.nextInt() - 1;//当前月份距离第一个月的,减一表示对着呐System.out.println("星期日" + "\t星期一" + "\t星期二" + "\t星期三" + "\t星期四" + "\t星期五" + "\t星期六");calendar.set(year, month, 1);month++;int NUM = calendar.get(Calendar.DAY_OF_WEEK) - 1;int COUNT = 0;for (int i = 1; i <= NUM; i++) {System.out.print("\t\t");COUNT++;}int x = 0;int y = 0;for (int i = 1; i <= calendar.getActualMaximum(Calendar.DAY_OF_MONTH); i++) {boolean pd = true;if (isToday(i)) {System.out.print("[");x++;if(isWeekend(year,month-1,i)){y++;}}System.out.print(i);if (isToday(i)) {System.out.print("]");if (i >= 10) {System.out.print("\t");pd = false;}}if (pd) {System.out.print("\t\t");}COUNT++;if (COUNT == 7) {System.out.println();COUNT = 0;}}System.out.print("\n");System.out.println("本周休息的天数有:" + x);System.out.println("周末休息的天数有:" + y);}public boolean isToday(int x) throws ParseException {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");String oldTime = "2019-02-02";Date oldDate = simpleDateFormat.parse(oldTime);String nowTime;if (month < 10) {if (x >= 10) {nowTime = String.valueOf(this.year) + "-0" + month + "-" + x;} else {nowTime = String.valueOf(this.year) + "-0" + month + "-0" + x;}} else {if (x >= 10) {nowTime = String.valueOf(this.year) + "-" + month + "-" + x;} else {nowTime = String.valueOf(this.year) + "-" + month + "-0" + x;}}Date nowDate = simpleDateFormat.parse(nowTime);long s = (nowDate.getTime() - oldDate.getTime()) / (1000 * 60 * 60 * 24);boolean b;long a = (s - 1) % 4;if (a == 0) {return true;} else {return false;}}public boolean isWeekend(int year, int month, int day) {Calendar calendar = Calendar.getInstance();calendar.set(year, month, day);if (calendar.get(Calendar.DAY_OF_WEEK) == 1 || calendar.get(Calendar.DAY_OF_WEEK) == 7) {return true;} else {return false;}}
}

六、全文思维导图


编写不易,如有帮助,可点赞收藏;如有问题可联系博主,qq:2280006919        

@Hanpig编写


http://chatgpt.dhexx.cn/article/HjAuUvdc.shtml

相关文章

利用jackson-dataformat-csv读写csv文件

利用jackson-dataformat-csv读写csv文件 csv是comma-separated values的缩写&#xff0c;这类文件在日常项目中有时比较常见。sql工具一般具有将数据库数据导入、导出csv格式。 利用jackson-dataformat-csv读写csv文件&#xff0c;重点在与两个类&#xff1a;CsvMapper和CsvSc…

FormData详解

FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式&#xff0c;并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去&#xff0c;本接口和此方法都相当简单直接。如果表单 enctype 属性设为 multipart/form-data &#xff0c;则会使用表单的 submit(…

源码解析-为什么引入了jackson-dataformat-xml 包我的接口全变成了xml格式?

本文从引入jackson-dataformat-xml 之后接口全变成xml 现象开始&#xff0c;一步步排查代码原因&#xff0c;并提出解决方案。希望能对遇到相关问题的人有所帮助 新调用上游一个接口&#xff0c;增加了对方的一个api包&#xff0c;没修改任何逻辑&#xff0c;接口却从json返回…

Java-常用API(StringBuffer,Math,Date,DataFormat,Calender,Runtime,System,包装类)

Java常用API StringBuffer 为了解决String字符串操作导致的内存冗余&#xff0c;提高效率&#xff0c;Java中提供了StringBuffer和StringBuilder来操作字符串&#xff0c;并且提供了很多方法&#xff0c;便于程序员开发 StringBuffer和StringBuilder中都有char类型可变长数组…

Java知识点--DataFormat,SimpleDateFormat和DateTimeFormatter

Java知识点–DataFormat&#xff0c;SimpleDateFormat和DateTimeFormatter 这个知识点没什么难懂的地方&#xff0c;就不一一赘述了。 import java.text.DateFormat; import java.util.Date; import java.util.Locale;public class test01 {public static void main(String[]…

04、添加 com.fasterxml.jackson.dataformat -- jackson-dataformat-xml 依赖报错

Correct the classpath of your application so that it contains a single, compatible version of com.fasterxml.jackson.dataformat.xml.XmlMapper 解决&#xff1a; 改用其他版本&#xff0c;我没写版本号&#xff0c;springboot自己默认的是 2.11.4 版本 成功启动项目…

Excel表格样式CellStyle的DataFormat可选值

Excel表格样式CellStyle的DataFormat可选值 干啥子遇到的问题DataFormat可选项源码查看出处1、访问https://poi.apache.org/apidocs/4.1/ ,全局搜索CellStyle2、找到其对应的类-BuiltinFormats 干啥子 解决表格样式的设置&#xff0c;找到DataFormat可选值。 遇到的问题 在使…

java中的Date类,DataFormat类及Calendar类的使用详解

Date类的构造方法 Date类拥有多个构造函数&#xff0c;只是部分已经过时&#xff0c;但是其中有未过时的构造函数可以把毫秒值转成日期对象。 /* * Date类的long参数的构造方法 * Date(long ) 表示毫秒值 * 传递毫秒值,将毫秒值转成对应的日期对象 * 结果为…

Java 常用类Data和Format类 使用教程

一、Date类使用方法。 1. new Date() 返回当前时间 Date date new Date(); System.out.println(date);//输出当前的时间。源码解释为&#xff1a; 2. new Date(10006060*24); 返回 从 Fri Jan 01 08:00:00 CST 1970经过1天的时间 long time 1000*60*60*24; Date date n…

矩阵按键行列反转扫描法

51单片机 | 矩阵键盘行扫描 ———————————————————————————————————————————— 分类&#xff1a; 按结构原理分&#xff1a; 触点式开关按键无触点开关按键 接入方式 独立式按键矩阵式键盘 ———————————————————…

基于GD32矩阵按键程序实现

目录 一、简介 二、原理图 三、程序实现 一、简介 矩阵键盘&#xff0c;也称矩阵按键&#xff0c;是为了节约单片机IO口占用所引入的一种外设。 二、矩阵按键的原理图 三、程序实现 GPIO初始化引脚代码 /*!\brief Init Key Function\param[in] none\param[out] non…

4、按键(独立/矩阵按键)

一、 独立按键原理 按键在闭合和断开时&#xff0c;触点会存在抖动现象。 PS:定义小灯时&#xff0c;如果定义为#define led P2&#xff0c;这样按下K1时八个灯就会同时熄灭或点亮&#xff0c;&#xff0c;当然&#xff0c;如果要其中几个灯点亮&#xff0c;就分别定义…

蓝桥杯单片机 独立按键与矩阵按键

文章目录 前言一、蓝桥杯按键原理图二、独立按键与矩阵按键处理思路 1.独立按键2.矩阵按键代码实现总结 前言 按键设计一般分为两种&#xff1a;独立按键和矩阵键盘。按键数量较少的用前者&#xff0c;按键数量较多的用后者。虽然两种设计都是操作按键&#xff0c;但是其键盘扫…

单片机STM32入门——(3)矩阵按键

单片机STM32入门——&#xff08;3&#xff09;矩阵按键 1.理论分析1.1键盘扫描方式1.2行扫描逻辑1.3列扫描逻辑 2.程序编写2.1按键扫描程序2.1.1按键初始化2.1.2按键扫描程序头文件2.1.3行扫描函数2.1.3列扫描函数 2.2主程序 1.理论分析 1.1键盘扫描方式 我们所用到的键盘为…

51单片机之按键(独立按键矩阵按键)

难的东西学不会是因为简单的知识没学好 基础不牢&#xff0c;地动山摇 按键 1.1基础温习 &#xff08;1&#xff09;按键的物理结构 &#xff08;2&#xff09;单片机引脚有两种状态&#xff08;I/O&#xff09;输入【读】或者输出【写】 &#xff08;3&#xff09;上拉电阻…

51学习-矩阵按键篇

使用并行接口方式连接键盘&#xff0c;对独立式键盘而言&#xff0c;8根I/O口线可以接 **8** 个按键&#xff0c;而对矩阵式键盘而言&#xff0c;8根I/O口线最多可以接 **64** 个按键。 项目(工程)的时候&#xff0c;我们经常要用到比较多的按键&#xff0c;而且IO资源紧张&am…

4x4矩阵按键应用详解

一.简介 4x4矩阵按键是单片机外部设备中所使用的排布类似于矩阵的按键组。显然矩阵按键的使用要比独立按键要复杂一些&#xff0c;编程也要复杂一些&#xff0c;但可以单片机IO资源。4x4矩阵按键即分为4组列线&#xff0c;4组行线&#xff0c;并将行线所接的单片机的I/O口作为…

独立按键和矩阵按键c语言,第八章 独立按键和矩阵按键

我们和单片机之间进行信息交互,主要包含两大类,输入设备和输出设备。前边讲的LED小灯、数码管、点阵都是输出设备,这节课我们学习一下最常用的输入设备——按键。在本节课的学习过程中我们还会穿插介绍一点硬件设计的基础知识。 8.1单片机最小系统电路解析 8.1.1电源 我们在…

单片机 矩阵式按键

单片机 矩阵式按键 一、简述 在单片机应用系统中&#xff0c;通过按键实现数据输入及功能控制是非常普遍的&#xff0c;通常在所需按键数量不多时&#xff0c;系统常采用独立式按键。需要按键数量比较多&#xff0c;为了减少I/O口的占用&#xff0c;通常将按键排列成矩阵。测…

矩阵按键原理和BUG

当我们的电路有很多按键时&#xff0c;一般会采用矩阵方式与单片机相连来减少对单片机IO的浪费&#xff0c;如下图方式。 这个电路的原理: 1、比如检测S13是否按下&#xff0c;单片机把Line4设为输出&#xff0c;并输出低电平&#xff0c;而Line3、Line2、Line1设为开路输入&…