大家好,欢迎来到IT知识分享网。
目录
一、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; } } }
六、全文思维导图
编写不易,如有帮助,可点赞收藏;如有问题可联系博主,:
@Hanpig编写
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113315.html





