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

來源:互聯網
上載者:User

標籤:定時   排序   lap   格式化   尋找   play   OLE   hide   ann   

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 year23      * @param month24      * 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包中常用類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.