java.util包被称为java工具包,里面包含大部分的工具类
一、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 日期类
Date d = new Date(); 当前时间
Date d = new Date(long); 指定的时间
d.getTime();获得当前时间的毫秒数
四、日期格式化类
SimpleDataFormat 格式化日期时间的类
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:Calendar类是一个抽象类,需要通过getInstance()方法来实现
Calendar与Date类之间的转换分别是getTime()和setTime()
Calendar对象获取month将会比实际的月份少一个月,是从下标为0开始的
Calendar对象获取day_of_week是获取到当前星期,返回的是重这周日到当前礼拜的天数。
六、TimerTask 定时任务类
Timer 定时器
定义一个类继承TimerTask,重写run方法
创建一个Timer对象
创建一个xxTask对象
启动任务
在指定的时间指定任务
t.schedule(task, date);
延迟一定时间执行
t.schedule(task, 500);
延迟一定时间执行,每隔一定时间重复执行一次
t.schedule(task, 5000, 1000);
在指定的时间开始执行,每隔一定时间重复执行一次
t.schedule(task, d, 1000);
七、Arrays 数组类
binarySearch(数组,值) 用二分法查找值在数组中出现的下标位置,前提条件,数组必须是有序的
sort(数组) 对数组用快排法进行排序
toString(数组) 将数组转换成字符串形式
copyOf(数组,长度)拷贝数组,得到一个新数组
附:控制台日历查询程序
1 packagecom.work.calendar;2
3 importjava.util.Calendar;4 importjava.util.Scanner;5
6
7 public classCalendarDemo {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 publicCalendarDemo(){16 cad=Calendar.getInstance();17 this.year =cad.get(Calendar.YEAR);18 this.month=cad.get(Calendar.MONTH)+1;19 }20 /**
21 * 给日历对象传入一个具体的日期22 *@paramyear23 *@parammonth24 * 2018年8月26日25 */
26 public void setCalendarDemo(int year,intmonth){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 voidlink() {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
CalendarDemo