java学习--java.util包中常用类
一、Random 随机数类
new Random()
rd.nextInt()
rd.nextInt(100)
二、Scanner 扫描器类
Scanner sc = new Scanner(system.in);
String str = sc.next();
String str1 = sc.nextLine();
int t = sc.nextInt();
float t = sc.nextFloat();
三、Date 日期类
四、日期格式化类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
String s = sdf.format(d);
五、Calendar 日历类
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int min = c.get(Calendar.MINUTE);
int sec = c.get(Calendar.SECOND);
int w = c.get(Calendar.DAY_OF_WEEK);
ps:
六、TimerTask 定时任务类
定义一个类继承
创建一个
创建一个
启动任务
在指定的时间指定任务
t.schedule(task, date);
延迟一定时间执行
t.schedule(task, 500);
延迟一定时间执行,每隔一定时间重复执行一次
t.schedule(task, 5000, 1000);
在指定的时间开始执行,每隔一定时间重复执行一次
t.schedule(task, d, 1000);
七、Arrays 数组类
附:控制台日历查询程序

1 package com.work.calendar; 2 3 import java.util.Calendar; 4 import java.util.Scanner; 5 6 7 public class CalendarDemo { 8 int year,month,day=0; 9 //定义一个存放日期天数的数组 10 int[] days = {31,28,31,30,31,30,31,31,30,31,30,31}; 11 Calendar cad ; 12 /** 13 * 无参构造方法中获取当前日期 14 */ 15 public CalendarDemo(){ 16 cad= Calendar.getInstance(); 17 this.year = cad.get(Calendar.YEAR); 18 this.month=cad.get(Calendar.MONTH)+1; 19 } 20 /** 21 * 给日历对象传入一个具体的日期 22 * @param year 23 * @param month 24 * 2018年8月26日 25 */ 26 public void setCalendarDemo(int year,int month){ 27 this.year = year; 28 this.month = month; 29 cad = Calendar.getInstance(); 30 cad.set(Calendar.YEAR, year); 31 cad.set(Calendar.MONTH,month-1); 32 } 33 /** 34 * 将获取到的日历打印 35 * 36 * 2018年8月26日 37 */ 38 public void link() { 39 if(year/4==0&&year/100!=0||year%400 ==0) { 40 days[1]=29; 41 }else { 42 days[1]=28; 43 } 44 System.out.println(year+"年"+month+"月"); 45 System.out.println("日\t 一\t 二\t 三\t 四\t 五\t 六"); 46 cad.set(Calendar.DAY_OF_MONTH, 1); 47 int first = cad.get(Calendar.DAY_OF_WEEK); 48 for(int i = 0;i<first-1;i++) { 49 System.out.print("\t"); 50 } 51 for(int i=0;i<days[month-1];i++) { 52 System.out.print(i+1+"\t"); 53 if(first==7) { 54 first=0; 55 System.out.println(); 56 } 57 first++; 58 } 59 } 60 public static void main(String[] args) { 61 int month,year; 62 boolean flag = true; 63 Scanner sc = new Scanner(System.in); 64 System.out.println("请输入年份和月份"); 65 year = sc.nextInt(); 66 month = sc.nextInt(); 67 CalendarDemo c = new CalendarDemo(); 68 c.setCalendarDemo(year, month); 69 c.link(); 70 while(flag) { 71 System.out.println(); 72 System.out.println("输入a,d可以查看上个月,下个月的日历"); 73 System.out.println("输入r可以退出程序"); 74 char operation = sc.next().charAt(0); 75 if(operation=='a') { 76 if(month==1) { 77 year = year - 1; 78 month = 12; 79 }else { 80 month=month-1; 81 } 82 }else if(operation =='d'){ 83 if(month==12) { 84 year = year+1; 85 month = 1; 86 }else { 87 month=month+1; 88 } 89 }else if(operation =='r') { 90 flag = false; 91 } 92 c.setCalendarDemo(year, month); 93 c.link(); 94 System.out.println(); 95 System.out.println("程序已退出"); 96 } 97 sc.close(); 98 } 99 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!