1. 程式人生 > >java學習--java.util包中常用類

java學習--java.util包中常用類

ext line 一次 必須 get 拷貝 opera ann lean

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 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 }
CalendarDemo

java學習--java.util包中常用類