国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Java.util包簡(jiǎn)介 如何開(kāi)發(fā)應(yīng)用之二

2019-11-18 12:01:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  java的實(shí)用工具類(lèi)庫(kù)Java.util包。在這個(gè)包中,Java提供了一些實(shí)用的方法和數(shù)據(jù)結(jié)構(gòu)。例如,Java提供日期(Data)類(lèi)、日歷(Calendar)類(lèi)來(lái)產(chǎn)生和獲取日期及時(shí)間,提供隨機(jī)數(shù)(Random)類(lèi)產(chǎn)生各種類(lèi)型的隨機(jī)數(shù),還提供了堆棧(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等類(lèi)來(lái)表示相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。圖1給出了Java.util包的基本層次結(jié)構(gòu)圖。下面我們將具體介紹其中幾個(gè)重要的類(lèi)。
  
Java.util包簡(jiǎn)介 如何開(kāi)發(fā)應(yīng)用之二


  
圖1.1 java.util包的基本層次結(jié)構(gòu)

  
  1.2 日期類(lèi)Date
  
  Java在日期類(lèi)中封裝了有關(guān)日期和時(shí)間的信息,用戶(hù)可以通過(guò)調(diào)用相應(yīng)的方法來(lái)獲取系統(tǒng)時(shí)間或設(shè)置日期和時(shí)間。Date類(lèi)中有很多方法在JDK1.0公布后已經(jīng)過(guò)時(shí)了,在8.3中我們將介紹JDK1.0中新加的用于替代Date的功能的其它類(lèi)。
  
  在日期類(lèi)中共定義了六種構(gòu)造函數(shù)。
  
  (1)public Date()
  
  創(chuàng)建的日期類(lèi)對(duì)象的日期時(shí)間被設(shè)置成創(chuàng)建時(shí)刻相對(duì)應(yīng)的日期時(shí)間。例:
  
  Date today=new Date();
  //today被設(shè)置成創(chuàng)建時(shí)刻相對(duì)應(yīng)的日期時(shí)間。
  
  (2)public Date (long date)
  
  long 型的參數(shù)date可以通過(guò)調(diào)用Date類(lèi)中的static方法parse(String s)來(lái)獲得。例:
  
  long l=Date.parse("Mon 6 Jan 1997 13:3:00");
  Date day=new Date(l);
  //day中時(shí)間為1997年 1月6號(hào)星期一,13:3:00
  
  (3)public Date(String s)
  
  按字符串s產(chǎn)生一日期對(duì)象。s的格式與方法parse中字符串參數(shù)的模式相同。例:
  
  Date day=new Date("Mon 6 Jan 1997 13:3:00");
  //day 中時(shí)間為1997年1月6號(hào)星期一,
  13:3:00
  
  (4)public Date(int year,int month,int date)
  
  (5)public Date(int year,int month,int date,int hrs,int min)
  
  (6)public Date(int year,int month,int date,int hrs,int min,int sec)
  
  按給定的參數(shù)創(chuàng)建一日期對(duì)象。
  
  參數(shù)說(shuō)明:
  
  year的值為:需設(shè)定的年份-1900。例如需設(shè)定的年份是1997則year的值應(yīng)為97,即1997-1900的結(jié)果。所以Date中可設(shè)定的年份最小為1900;
  
  month的值域?yàn)?~11,0代表1月,11表代表12月;
  
  date的值域在1~31之間;
  
  hrs的值域在0~23之間。從午夜到次日凌晨1點(diǎn)間hrs=0,從中午到下午1點(diǎn)間hrs=12;
  
  min和sec的值域在0~59之間。
  
  例:
  
  Date day=new Date(11,3,4);
  //day中的時(shí)間為:04-APR-11 12:00:00 AM
  
  另外,還可以給出不正確的參數(shù)。例 設(shè)定時(shí)間為1910年2月30日,它將被解釋成3月2日。
  
  Date day=new Date(10,1,30,10,12,34);
  System.out.println("Day's date is:"+day);
  //打印結(jié)果為:Day's date is:
  Web Mar 02 10:13:34 GMT+08:00 1910
  
  下面我們給出一些Date類(lèi)中常用方法。
  
  (1)
  
  public static long UTC(int year,
  int month,int date,int hrs.
  int min,int sec)
  
  該方法將利用給定參數(shù)計(jì)算UTC值。UTC是一種計(jì)時(shí)體制,與GMT(格林威治時(shí)間)的計(jì)時(shí)體系略有差別。UTC計(jì)時(shí)體系是基于原子時(shí)鐘的,而GTMT計(jì)時(shí)體系是基于天文學(xué)觀測(cè)的。計(jì)算中使用的一般為GMT計(jì)時(shí)體系。
  
  (2)public static long parse(String s)
  
  該方法將字符串s轉(zhuǎn)換成一個(gè)long型的日期。在介紹構(gòu)造方法Date(long date)時(shí)曾使用過(guò)這個(gè)方法。
  
  字符串s有一定的格式,一般為:
  
  (星期 日 年 時(shí)間GMT+時(shí)區(qū))
  
  若不注明時(shí)區(qū),則為本地時(shí)區(qū)。
  
  (3)public void setMonth(int month)
  
  (4)public int getMonth()
  
  這兩個(gè)方法分別為設(shè)定和獲取月份值。
  
  獲取的月份的值域?yàn)?~11,0代表1月,11代表12月。
  
  (5)public String toString()
  
  (6)public String toLocalString()
  
  (7)public String toGMTString()
  
  將給定日期對(duì)象轉(zhuǎn)換成不同格式的字符串。它們對(duì)應(yīng)的具體的格式可參看例子8.1。
  
  (8)public int getTimezoneOffset()
  
  該方法用于獲取日期對(duì)象的時(shí)區(qū)偏移量。
  
  例8.1中對(duì)上面介紹的Date類(lèi)中的基本方法進(jìn)行了具體的應(yīng)用,并打印了相應(yīng)的結(jié)果。由于使用了一些過(guò)時(shí)的方法,所以編譯時(shí)會(huì)有警告信息。另外,由于本例中的時(shí)間表示與平臺(tái)有關(guān),不同的JDK版本對(duì)此處理不完全相同,因此不同版本的JDK執(zhí)行本例的結(jié)果可能有細(xì)微差異。
  
  例1.1 DateApp.java
  
  import java.lang.System;
  import java.util.Date;
  public class DateApp
  {
  public static void main(String args[])
  {
  Date today=new Date();
  //today中的日期被設(shè)成創(chuàng)建時(shí)刻的日期和時(shí)間,
  假設(shè)創(chuàng)建時(shí)刻為1997年3月
  //23日17時(shí)51分54秒。
  System.out.println("Today's date is "+today);
  //返回一般的時(shí)間表示法,
  本例中結(jié)果為
  //Today's date is Fri May 23 17:51:54 1997
  System.out.println("Today's
  date(Internet GMT)is:"
  +today.toGMTString());
  //返回結(jié)果為GMT時(shí)間表示法,
  本例中結(jié)果為
  //Today's date(Internet GMT)is:
  23 May 1997 09:51:54:GMT
  System.out.println("Today's
  date(Locale) is:"
  +today.toLocaleString());
  //返回結(jié)果為本地習(xí)慣的時(shí)間表示法,
  結(jié)果為
  //Today's date(Locale)is:
  05/23/97 17:51:54
  System.out.println("Today's year is:
  "+today.getYear());
  System.out.println("Today's month is:
  "+(today.getMonth()+1));
  System.out.println("Today's date is:
  "+today.getDate());
  //調(diào)用Date類(lèi)中方法,獲取年月日的值。
  //下面調(diào)用了不同的構(gòu)造方法來(lái)創(chuàng)建Date類(lèi)的對(duì)象。
  Date day1=new Date(100,1,23,10,12,34);
  System.out.println
  ("Day1's date is: "+day1);
  Date day2=new Date
  ("Sat 12 Aug 1996 13:3:00");
  System.out.println
  ("Day2's date is: "+day2);
  long l= Date.parse
  ("Sat 5 Aug 1996 13:3:00 GMT+0800");
  Date day3= new Date(l);
  System.out.println
  ("Day3's date(GMT)is:
  "+day3.toGMTString());
  System.out.println
  ("Day3's date(Locale)is: "
  +day3.toLocaleString());
  System.out.println
  ("Day3's time zone offset is:"
  +day3.getTimezoneOffset());
  }
  }
  
  運(yùn)行結(jié)果(JDK1.3版):
  
  E:/java/tutorial/java01>java DateApp
  Today's date is Thu Dec 27 17:58:16 CST 2001
  Today's date(Internet GMT)is:27 Dec 2001 09:58:16 GMT
  Today's date(Locale) is:2001-12-27 17:58:16
  Today's year is: 101
  Today's month is: 12
  Today's date is: 27
  Day1's date is: Wed Feb 23 10:12:34 CST 2000
  Day2's date is: Fri Aug 12 13:03:00 CST 1996
  Day3's date(GMT)is: 5 Aug 1996 05:03:00 GMT
  Day3's date(Locale)is: 1996-8-5 13:03:00
  Day3's time zone offset is:-480
  E:/java/tutorial/java01>
  
  1.3 日歷類(lèi)Calendar
  
  在早期的JDK版本中,日期(Date)類(lèi)附有兩大功能:(1)答應(yīng)用年、月、日、時(shí)、分、秒來(lái)解釋日期:(2)答應(yīng)對(duì)表示日期的字符串進(jìn)行格式化和句法分析。在JDK1.1中提供了類(lèi)Calendar來(lái)完成第一種功能,類(lèi)DateFormat來(lái)完成第二項(xiàng)功能。
  
  dateFormat是java.text包中的一個(gè)類(lèi)。與Date類(lèi)有所不同的是,DateFormat類(lèi)接受用各種語(yǔ)言和不同習(xí)慣表示的日期字符串。本節(jié)將介紹java.util包中的類(lèi)Calendar及其它新增加的相關(guān)的類(lèi)。
  
  類(lèi)Calendar是一個(gè)抽象類(lèi),它完成日期(Date)類(lèi)和普通日期表示法(即用一組整型域如YEAR,MONTH,DAY,HOUR表示日期)之間的轉(zhuǎn)換。
  
  由于所使用的規(guī)則不同,不同的日歷系統(tǒng)對(duì)同一個(gè)日期的解釋有所不同。在JDK1.1中提供了Calendar類(lèi)一個(gè)子類(lèi)GregorianCalendar??它實(shí)現(xiàn)了世界上普遍使用的公歷系統(tǒng)。當(dāng)然用戶(hù)也可以通過(guò)繼續(xù)Calendar類(lèi),并增加所需規(guī)則,以實(shí)現(xiàn)不同的日歷系統(tǒng)。
  
  第GregorianCalendar繼續(xù)了Calendar類(lèi)。本節(jié)將在介紹類(lèi)GregorianCalendar的同時(shí)順帶介紹Calendar類(lèi)中的相關(guān)方法。
  
  類(lèi)GregorianCalendar提供了七種構(gòu)造函數(shù):
  
  (1)public GregorianCalendar()
  
  創(chuàng)建的對(duì)象中的相關(guān)值被設(shè)置成指定時(shí)區(qū),缺省地點(diǎn)的當(dāng)前時(shí)間,即程序運(yùn)行時(shí)所處的時(shí)區(qū)、地點(diǎn)的當(dāng)前時(shí)間。
  
  (2)public GregorianCalendar(TimeZone zone)
  
  創(chuàng)建的對(duì)象中的相關(guān)值被設(shè)置成指定時(shí)區(qū)zone,缺省地點(diǎn)的當(dāng)前時(shí)間。
  
  (3)public GregorianCalendar(Locale aLocale)
  
  創(chuàng)建的對(duì)象中的相關(guān)值被設(shè)置成缺省時(shí)區(qū),指定地點(diǎn)aLocale的當(dāng)前時(shí)間。
  
  (4)public GregorianCalendar(TimeZone zone,Local aLocale)

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 屏山县| 资中县| 大厂| 鹤岗市| 潮州市| 水城县| 循化| 广灵县| 长丰县| 边坝县| 正镶白旗| 晋中市| 石狮市| 贞丰县| 青铜峡市| 缙云县| 桦川县| 靖安县| 莆田市| 威海市| 平陆县| 阿拉尔市| 天长市| 秦安县| 龙南县| 仪陇县| 大姚县| 青浦区| 湘阴县| 阿瓦提县| 朔州市| 清水河县| 仙居县| 高邑县| 九江县| 综艺| 铁岭市| 新乡县| 宜君县| 香港 | 濮阳县|