版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象程序設計項目教程本章學習目標:●
掌握基本類型的封裝類的使用●
掌握Object類的使用●
掌握字符串類的使用●
掌握Scanner、Math和日期類的使用●
理解格式化處理的應用項目6了解Java常用類任務1part掌握基本類型的封裝類Java為其8個基本數據類型提供了對應的封裝類,通過這些封裝類可以把8個基本類型的值封裝成對象進行使用。從JDK1.5開始,Java允許將基本類型的值直接賦值給對應的封裝類對象。8個基本數據類型對應的封裝類如表6-1所示?;绢愋偷姆庋b類
基本類型的封裝類除了Integer和Character寫法有點特殊例外,其他的基本類型對應的封裝類都是將首字母大寫即可。
從JDK1.5之后,Java提供了自動裝箱(Autoboxing)和自動拆箱(AutoUnboxing)功能,因此,基本類型變量和封裝類之間可以直接賦值,例如:Integerobj=10;intb=obj;
自動裝箱和自動拆箱大大簡化了基本數據類型和封裝類之間的轉換過程,但進行自動裝箱和拆箱操作時,必須注意類型匹配,例如Integer只能和int匹配,不能跟boolean或char等其他類型匹配基本類型的封裝類
除此之外,封裝類還可以實現基本類型變量和字符串之間的轉換:基本類型的封裝類2、將基本類型的值轉換成字符串有三種方式:●直接使用一個空字符串來連接數值即可?!裾{用封裝類提供的toString()靜態(tài)方法?!裾{用String類提供的valueOf()靜態(tài)方法。例如,將基本類型的值轉換為字符串Strings1=""+23;Strings2=Integer.toString(100);Strings3=String.valueOf(66);1、將字符串的值轉換為基本類型的值有兩種方式:●直接利用封裝類的構造方法,即Xxx(Strings)構造方法●調用封裝類提供的parseXxx(Strings)靜態(tài)方法例如:將字符串的值轉換為基本類型intnum1=newInteger("10");intnum2=Integer.parseInt("123");任務2part掌握Object類的應用Object對象類定義在java.lang包中,是所有類的頂級父類。在Java體系中,所有類都直接或間接地繼承了Object類。Object類提供了所有類都需要的一些方法,常用的方法及描述如表6-2所示。Object類2.1equals()方法
兩個基本類型的變量比較是否相等時直接使用“==”運算符即可,但兩個引用類型的對象比較是否相等時則有兩種方式:使用“==”運算符或使用equals()方法。在比較兩個對象是否相等時,“==”運算符和equals()方法是有區(qū)別的:
●“==”運算符比較的是兩個對象地址是否相同,即引用的是同一個對象。
●equals()方法通??梢杂糜诒容^兩個對象的內容是否相同。
equal()方法2.2toString()方法Object類的toString()方法是一個非常特殊的方法,它是一個“自我描述”的方法,該方法返回當前對象的字符串表示。當使用System.out.println(obj)輸出語句直接打印對象時,或字符串與對象進行連接操作時,例如:"info"+obj,系統(tǒng)都會自動調用對象的toString()方法。Object類中的toString()方法返回包含類名和散列碼的字符串,具體格式如下:
類名@哈希代碼值
任務3part應用字符串類
字符串就是用雙引號引起來的一連串的字符序列,Java提供了String、StringBuffer和StringBuilder三個類來封裝字符串,并提供了一系列方法來操作字符串對象。String、StringBuffer和StringBuilder三者之間區(qū)別如下:
●String創(chuàng)建的字符串是不可變的,即當使用String創(chuàng)建一個字符串后,該字符串在內存中是一個不可改變的字符序列。如果改變字符串變量的值,其實際是在內存中創(chuàng)建一個新的字符串,字符串變量將引用新創(chuàng)建的字符串地址,而原來的字符串在內存中依然存在且內容不變,直至Java的垃圾回收系統(tǒng)對其進行銷毀。
●StringBuffer創(chuàng)建的字符串是可變的,當使用StringBuffer創(chuàng)建一個字符串后,該字符串的內容可以通過append()、insert()、setCharAt()等方法進行改變,而字符串變量所引用的地址一直不變,如果想獲得StringBuffer的最終內容,可以通過調用它的toString()方法轉換成一個String對象。
●StringBuilder是JDK1.5新增的一個類。與StringBuffer類似,也是創(chuàng)建一個可變的字符串,不同的是StringBuffer是線程安全的,而StringBuilder沒有實現線程安全,因此性能較好。通常,如果只需要創(chuàng)建一個內容可變的字符串對象,不涉及線程安全、同步方面的問題,應優(yōu)先考慮使用StringBuilder類。字符串類本節(jié)概述3.1String類3.1String類3.2StringBuffer類StringBuffer字符緩沖區(qū)類是一種線程安全的可變字符序列,其常用的方法如表6-4所示。3.2StringBuffer類3.3StringBuilder類StringBuilder字符串生成器類與StringBuffer類類似,也是創(chuàng)建可變的字符串序列,只不過沒有線程安全控制,StringBuilder類常用的方法如表6-5所示。3.3StringBuilder類任務4part理解Scanner類Scanner掃描器類在java.util包中,可以獲取用戶從鍵盤輸入的不同數據,以完成數據的輸入操作,同時也可以對輸入的數據進行驗證。Scanner類常用的方法如表6-6所示。Scanner類任務5part應用Math類Math類包含常用的執(zhí)行基本數學運算的方法,如初等指數、對數、平方根和三角函數等。Math類提供的方法都是靜態(tài)的,可以直接調用,無需實例化。Math類常用的方法如表6-7所示。Math類Math類Math類除了提供大量的靜態(tài)方法之外,還提供了兩個靜態(tài)常量:PI和E,正如其名字所暗示的,分別表示л和e的值。
下述案例示例了Math類中常用方法的使用,代碼如下所示。任務6part掌握Date與Calendar類6.1Date類Date類用來表示日期和時間,該時間是一個長整型(long),精確到毫秒。其常用的方法如表6-8所示。Date類6.2Calendar類Calendar類是一個抽象類,在java.util包中。使用Calendar類的static方法getInstance()可以初始化一個日歷對象.它為特定瞬間與一組YEAR、MONTH、DAY_OF_MONTH、HOUR等日歷字段之間的轉換,和操作日歷字段提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標準時間1970年1月1日的00:00:00.000,格里高利歷)的偏移量。Calendar類常用方法如表6-9所示。6.2Calendar類6.2Calendar類任務7part格式化處理信息7.1數字格式化
在不同的國家,數字表示方式是不一樣的,如在中國表示的“8,888.8”,而在德國卻表示未“8.888,8”,因此,對數字表示將根據不同的Locale來格式化。
在java.text包中提供了一個NumberFormat類,用于完成對數字、百分比進行格式化和對字符串對象進行解析。NumberFormat類提供了大量的靜態(tài)方法用于獲取使用指定Locale對象封裝的NumberFormat實例。NumberFormat類的常用方法如表6-10所示。7.2貨幣格式化NumberFormat除了能對數字、百分比格式化外,還可以對貨幣數據格式化,貨幣格式化通常是在錢數前面加上類似于“¥”、“$”的貨幣符號,來區(qū)分貨幣類型。使用NumberFormat的靜態(tài)方法getCurrencyInstance()方法來獲取格式器。
下面案例使用NumberFormat類來實現對貨幣格式化處理,代碼如下所示。貨幣格式化7.3日期格式化
不同國家其日期格式也是不同的,例如,中文的日期格式為“xxxx年xx月xx日”,而英文的日期格式是“yyyy-mm-dd”。因此,對日期和時間也需要根據不同的Locale來格式化。Java語言中,日期和時間的格式化是通過DateFormat類來完成的,該類的使用方式與NumberFormat類相似。DateFormat類的常用方法如表6-11所示7.3日期格式化
其中,dateStyle日期樣式和timeStyle時間樣式,這兩個參數是DateFormat中定義好的靜態(tài)常量,用于控制輸出日期、時間的顯示形式,常用的樣式控制有:
●DateFormat.FULL:在zh_CN的Locale下,此格式的日期格式取值類似于“2018年7月20日星期五”,時間格式取值類似于“上午09時30分12秒CST”。
●DateFormat.LONG:在zh_CN的Locale下,此格式的日期格式取值類似于“2018年7月20日”,時間格式取值類似于“上午09時30分12秒”。
●DateFormat.DEFAULT:在zh_CN的Locale下,此格式的日期格式取值類似于“2018-7-20”,時間格式取值類似于“9:30:12”。
●DateFormat.SHORT:在zh_CN的Locale下,此格式的日期格式取值類似于“18-7-20”,時間格式取值類似于“上午9:30:”。
下述案例使用了DateFormat類實現日期時間格式化處理,代碼如下所示。7.3日期格式化
除了DateFormat類,Java還提供了更加簡便的日期格式器SimpleDateFormat類,該類是DateFormat的子類,可以更加靈活地對日期和時間進行格式化。SimpleDateFormat類的使用非常簡單,通過預定義的模式字符構造特定的模式串,然后根據模式串來創(chuàng)建SimpleDateFormat格式器對象,從而通過此格式器完成指定日期時間的格式化。例如:’D’表示一年中的第幾天,’d’表示一月中的第幾天,’E’代表星期中的第幾天等,其他可以使用的模式字符串可參看Java提供的API幫助文檔,表6-12列舉了一部分日期模式字符。7.3日期格式化
通過模式字符可以構建控制日期、時間格式的模式串,在zh_CN的Locale下,自定義模式串及其對應的日期、時間格式示例如表6-13所示。
如果需要在模式串中使用的字符(字符串)不被SimpleDateFormat解釋,可以在模式串中將其用單引號括起來;SimpleDateFormat一般不用于國際化處理,而是為了以特定模式輸出日期和時間,以便本地化的使用。
下述案例示例如何使用SimpleDateFormat類實現日期時間格式化處理,代碼如下所示。7.4消息格式化
國際化軟件需要根據用戶的本地化消息輸出不同的格式,即動態(tài)實現消息的格式化。java.text.MessageFormat類可以實現消息的動態(tài)處理,常用的方法如表6-14所示。7.4消息格式化MessageFormat類的構造方法中有一個pattern參數,該參數是一個帶占位符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高爐煉鐵工操作水平知識考核試卷含答案
- 保健艾灸師安全知識考核試卷含答案
- 招聘師風險評估與管理水平考核試卷含答案
- 益蟲飼養(yǎng)工成果競賽考核試卷含答案
- 辦公設備維修工保密考核試卷含答案
- 刨花板熱壓工崗前安全專項考核試卷含答案
- 2024年海南醫(yī)學院輔導員考試筆試題庫附答案
- 2024年滇池學院輔導員招聘考試真題匯編附答案
- 煤制烯烴生產工安全檢查強化考核試卷含答案
- 勞動定員定額師安全知識宣貫評優(yōu)考核試卷含答案
- 青鳥消防JB-QB-JBF5012火災報警控制器使用說明書V1.3
- 第一學期政治組教研工作總結
- 1春《寒假新啟航五年級》參考答案
- 豬肉配送投標方案(完整技術標)
- GM公司過程控制計劃審核表
- GB/T 6185.2-20162型全金屬六角鎖緊螺母細牙
- GB/T 26218.1-2010污穢條件下使用的高壓絕緣子的選擇和尺寸確定第1部分:定義、信息和一般原則
- GB/T 18934-2003中國古典建筑色彩
- GB/T 15114-1994鋁合金壓鑄件
- 心理健康試卷分析及分析報告
- GB 19195-2003普及(娛樂)類卡丁車通用技術條件
評論
0/150
提交評論