包裝類、Math、日期格式處理_第1頁
包裝類、Math、日期格式處理_第2頁
包裝類、Math、日期格式處理_第3頁
包裝類、Math、日期格式處理_第4頁
包裝類、Math、日期格式處理_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、本章內(nèi)容:·包裝類·Math:random() round()·日期格式的處理:Date、Calendar、DateFormat一、 包裝類:java中提倡的思想一切皆對象,但是我們發(fā)現(xiàn)之前講的java的8種基本數(shù)據(jù)類型并不是一個(gè)類,也就是說基本數(shù)據(jù)類的變量不是一個(gè)對象,那么和java提倡的思想是相矛盾,為了解決這些矛盾,java中提供了8中基本數(shù)據(jù)類型的包裝類。編號(hào)基本數(shù)據(jù)類型包裝類1intInteger2charCharacter3doubleDouble4floatFloat5booleanBoolean6byteByte7longLong8shortSho

2、rt包裝類的作用:·進(jìn)項(xiàng)裝箱和拆箱操作·將字符串轉(zhuǎn)換成基本數(shù)據(jù)類型裝箱:將基本數(shù)據(jù)類型轉(zhuǎn)換成包裝類類型拆箱:將包裝類類型轉(zhuǎn)換成基本數(shù)據(jù)類型范例:進(jìn)行裝箱操作package com.wanczy.packageDemo;public class PackageDemo01 public static void main(String args) int i = 100;Integer in = new Integer(i);/進(jìn)行裝箱操作System.out.println(in);范例:進(jìn)行拆箱操作:package com.wanczy.packageDemo;public

3、 class PackageDemo02 public static void main(String args) Integer in = new Integer(100);int i = Value();/進(jìn)行拆箱操作System.out.println(i);Double dou = new Double(100.00001);double d = dou.doubleValue();System.out.println(d);以上的操作都是進(jìn)行了手動(dòng)的裝箱和拆箱操作,其實(shí)在JDK1.5之后,裝箱和拆箱操作都可以自動(dòng)的進(jìn)行,包裝類對象本身是不能進(jìn)行數(shù)學(xué)運(yùn)算,但是經(jīng)過拆箱操作之

4、后可以進(jìn)行數(shù)學(xué)運(yùn)算,那么JDK1.5之后的包裝類對象也可以進(jìn)行數(shù)學(xué)運(yùn)算了。范例:自動(dòng)進(jìn)行裝箱操作package com.wanczy.packageDemo;public class PackageDemo03 public static void main(String args) int i = 100;Integer in = i;/進(jìn)行自動(dòng)裝箱操作System.out.println(in);范例:自動(dòng)拆箱操作package com.wanczy.packageDemo;public class PackageDemo04 public static void main(String

5、args) Integer in = new Integer(100);int i = in;/進(jìn)行自動(dòng)拆箱操作System.out.println(i);Double dou = new Double(100.00001);double d = dou;System.out.println(d);·將字符串轉(zhuǎn)換成基本數(shù)據(jù)類型范例:將字符串“1122”轉(zhuǎn)換成int類型:package com.wanczy.packageDemo;public class PackageDemo05 public static void main(String args) String s = &qu

6、ot;1122"int x = Integer.parseInt(s);/將String對象轉(zhuǎn)換成基本數(shù)據(jù)類型int y = Integer.valueOf(s);/將String對象轉(zhuǎn)換成基本數(shù)據(jù)類型System.out.println(x+"t"+y);將字符串轉(zhuǎn)換成基本數(shù)據(jù)類型的時(shí)候要注意一點(diǎn):就是在轉(zhuǎn)換的時(shí)候要注意異常的發(fā)生,比如將字符串“abc”轉(zhuǎn)換成int類型,肯定無法轉(zhuǎn)換,在轉(zhuǎn)換時(shí)就會(huì)出現(xiàn)數(shù)字轉(zhuǎn)換異常。二、 Math:本身是一個(gè)類,里面幾乎定義了所有的數(shù)學(xué)運(yùn)算方法,我們只需要了解兩個(gè)方法:·random():取隨機(jī)數(shù),取出的隨機(jī)數(shù)范圍:0-

7、1·round():四舍五入取整數(shù)范例:取0-100之間的隨機(jī)數(shù),取50次package com.wanczy.mathDemo;public class MathDemo01 public static void main(String args) for (int i = 0; i < 50; i+) /double d = Math.random();/取隨機(jī)數(shù)/double d2 = d*100;/int x = (int) Math.round(d2);/四舍五入/System.out.println(x);System.out.println(Math.round(

8、Math.random()*100);現(xiàn)在所有的公司發(fā)工資或者銀行存儲(chǔ)卡中的余額都是取兩位小數(shù)的,現(xiàn)在我們有一段double 的數(shù)據(jù),需要四舍五入保留兩位小數(shù)。package com.wanczy.mathDemo;public class MathDemo02 public static void main(String args) double d = 1876.34672783461;System.out.println(Math.round(d*100)/100.0);三、 重點(diǎn),日期格式的處理·Date:java.util包中的Date類,一般只會(huì)使用無參數(shù)的構(gòu)造方法去取得

9、系統(tǒng)當(dāng)前的時(shí)間,精確到毫秒,其他的方法基本都已過時(shí)。package com.wanczy.dateDemo;import java.util.Date;public class DateDemo01 public static void main(String args) Date date = new Date();System.out.println(date);那么我現(xiàn)在要去取日期中的年月日、時(shí)分秒的詳細(xì)信息,怎么辦呢?我們知道Date類中有此種方法,但是已經(jīng)過時(shí),這個(gè)時(shí)候我們可以去使用到Calendar類中的方法,當(dāng)然Calendar類也可以取得系統(tǒng)當(dāng)前的時(shí)間。通過API發(fā)現(xiàn)Calen

10、dar類是一個(gè)抽象類,其類的定義格式如下:public abstract class Calendarextends Objectimplements Serializable, Cloneable, Comparable<Calendar>通過面向?qū)ο蟮亩鄳B(tài)性,如果說要實(shí)例化此類的話比需要依靠子類,現(xiàn)在來觀察Calendar的子類:GregorianCalendar,此類的構(gòu)造方法我們一般只會(huì)使用無參數(shù)的構(gòu)造,用于取得Calendar的對象。觀察Calendar中的常用方法:·public abstract void add(int field, int amount)

11、:給指定的日歷字段添加一個(gè)值·public final void clear():清除日期的內(nèi)容·public int get(int field):取得指定日歷字段的值·public final Date getTime():將Calendar類對象轉(zhuǎn)換成Date類型對象·public void set(int field, int value):給指定的日歷字段設(shè)置指定的值·public final void setTime(Date date):給Calendar對象設(shè)置時(shí)間范例1:取得當(dāng)前日期的年月日時(shí)分秒毫秒package com.w

12、anczy.dateDemo;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class DateDemo02 public static void main(String args) Date date = new Date();Calendar c = new GregorianCalendar();c.setTime(date);/給Calendar對象設(shè)置時(shí)間System.out.println("年:"+c.get(Calendar.

13、YEAR);System.out.println("月:"+(c.get(Calendar.MONTH)+1);System.out.println("日:"+c.get(Calendar.DAY_OF_MONTH);System.out.println("時(shí):"+c.get(Calendar.HOUR_OF_DAY);System.out.println("分:"+c.get(Calendar.MINUTE);System.out.println("秒:"+c.get(Calendar.SEC

14、OND);System.out.println("毫秒:"+c.get(Calendar.MILLISECOND);范例2:取得的當(dāng)前日期的前五天的日期package com.wanczy.dateDemo;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class DateDemo03 public static void main(String args) Date date = new Date();Calendar c = new Gr

15、egorianCalendar();c.setTime(date);/給Calendar對象設(shè)置時(shí)間c.add(Calendar.DAY_OF_MONTH, -5);/給日期減5天System.out.println("年:"+c.get(Calendar.YEAR);System.out.println("月:"+(c.get(Calendar.MONTH)+1);System.out.println("日:"+c.get(Calendar.DAY_OF_MONTH);System.out.println("時(shí):"

16、;+c.get(Calendar.HOUR_OF_DAY);System.out.println("分:"+c.get(Calendar.MINUTE);System.out.println("秒:"+c.get(Calendar.SECOND);System.out.println("毫秒:"+c.get(Calendar.MILLISECOND);·日期格式的轉(zhuǎn)換:我們發(fā)現(xiàn)現(xiàn)在不管是Date還是Calendar打印出的時(shí)間都不符合我們中國人看時(shí)間的習(xí)慣,我們的習(xí)慣是“2008-08-08”,“2008/08/08 23:

17、10:10”,這個(gè)時(shí)候怎么辦呢?java中提供了一個(gè)類,專門用于日期格式的轉(zhuǎn)換,這個(gè)類就是DateFormat,現(xiàn)在我們來找到此類:public abstract class DateFormatextends Format發(fā)現(xiàn)此類的定義仍然是一個(gè)抽象類,所有實(shí)例化此類的時(shí)候必須依靠其子類:SimpleDateFormat,觀察其構(gòu)造方法:public SimpleDateFormat(String pattern)參數(shù)是指定的日期格式。DateFormat中常用的方法:·public final String format(Date date):將Date類型轉(zhuǎn)換成字符串類型

18、83;public Date parse(String source) throws ParseException:將字符串轉(zhuǎn)換成Date日期格式那么現(xiàn)在我們怎么轉(zhuǎn)換成中國人習(xí)慣的日期格式呢?這個(gè)時(shí)候需要在SimpleDateFormat中定義一個(gè)日期格式,那么這個(gè)格式怎么去定義呢?字母 日期或時(shí)間元素 表示 示例 y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周數(shù) Number 27 W 月份中的周數(shù) Number 2 D 年中的天數(shù) Number 189 d 月份中的天數(shù) Number 10 F 月份中的星期 Number 2 E 星

19、期中的天數(shù) Text Tuesday; Tue a Am/pm 標(biāo)記 Text PM H 一天中的小時(shí)數(shù)(0-23) Number 0 k 一天中的小時(shí)數(shù)(1-24) Number 24 K am/pm 中的小時(shí)數(shù)(0-11) Number 0 h am/pm 中的小時(shí)數(shù)(1-12) Number 12 m 小時(shí)中的分鐘數(shù) Number 30 s 分鐘中的秒數(shù) Number 55 S 毫秒數(shù) Number 978 z 時(shí)區(qū) General time zone Pacific Standard Time; PST; GMT-08:00 Z 時(shí)區(qū) RFC 822 time zone -0800 如

20、果說要轉(zhuǎn)換成2008-08-08 23:30:30.300此種日期,那么我們怎么去定義日期格式呢?yyyy-MM-dd HH:mm:ss.SSS范例:將Date類型轉(zhuǎn)換成字符串package com.wanczy.dateDemo;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;public class DateDemo04 public static void main(String args) Date date = new Date();DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");String s = df.format(date);/進(jìn)行轉(zhuǎn)換System.out.println(s);范例2:將字符串轉(zhuǎn)換成Datepackage com.wanczy.dateDemo;import ja

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論