孫衛(wèi)琴《Java面向?qū)ο缶幊獭放涮譖PT--java_base6_api.ppt_第1頁
孫衛(wèi)琴《Java面向?qū)ο缶幊獭放涮譖PT--java_base6_api.ppt_第2頁
孫衛(wèi)琴《Java面向?qū)ο缶幊獭放涮譖PT--java_base6_api.ppt_第3頁
孫衛(wèi)琴《Java面向?qū)ο缶幊獭放涮譖PT--java_base6_api.ppt_第4頁
孫衛(wèi)琴《Java面向?qū)ο缶幊獭放涮譖PT--java_base6_api.ppt_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第8課 java.lang 包,java.lang包包含了主要的Java語言支持類, 它是Java語言編程設(shè)計的基礎(chǔ)。 作為Java語言中所有類的祖先Object類,就定義在Java.lang包中. 另外還包含了包裝類、String類、多線程支持類、Math類、System類等。,參考Java面向?qū)ο缶幊痰牡?9章,Object 類,Object 類是所有Java類的最終祖先,如果一個類在聲明時沒有包含extends關(guān)鍵詞,那么這個類直接繼承Object類。 (1)equals(Object obj) (2)notify() (3)nofityAll() (4)wait() (5)toStri

2、ng():返回當(dāng)前對象的字符串表示,格式為“類名對象的16進(jìn)制哈希碼”。許多類,如String、StringBuffer和包裝類都覆蓋了toString()方法,返回具有實(shí)際意義的內(nèi)容。,Object 類的toString()方法,當(dāng)System.out.println()方法的參數(shù)為Object類型,println()方法會自動先調(diào)用Object對象的toString()方法,然后打印toString()方法返回的字符串。 System.out.println(new Object().toString(); /打印java.lang.Object273d3c System.out.prin

3、tln(new Integer(100).toString(); /打印100 System.out.println(new String(123).toString(); /打印123 System.out.println(new StringBuffer(123456).toString(); /打印123456 以上代碼等價于: System.out.println(new Object(); System.out.println(new Integer(100); System.out.println(new String(123); System.out.println(new St

4、ringBuffer(123456);,String類,indexOf()和lastIndexOf():在字符串中檢索特定字符或子字符串,indexOf()方法從字符串的首位開始查找,而lastIndexOf()方法從字符串的末尾開始查找。如果找到,則返回匹配成功的位置,如果沒有找到,則返回-1。,String str=HelloHelloHello; /查找字符e第一次在str中出現(xiàn)的位置 System.out.println(str.indexOf(e); /打印1 /查找字符e從位置2開始第一次在str中出現(xiàn)的位置 System.out.println(str.indexOf(e,2);

5、 /打印6 /查找字符e在str中最后一次出現(xiàn)的位置 System.out.println(str.lastIndexOf(e); /打印11 /查找字符串ello從位置2開始第一次在str中出現(xiàn)的位置 System.out.println(str.indexOf(ello,2); /打印6 /查找字符串Ello第一次在str中出現(xiàn)的位置 System.out.println(str.indexOf(Ello); /打印-1,String類,concat(String str):把字符串str附加在當(dāng)前字符串的末尾。例如: String str=Hello; String newStr=str

6、.concat(World); System.out.println(str); /打印Hello System.out.println(newStr); /打印HelloWorld 以上concat()方法并不會改變字符串str本身的內(nèi)容。,String類,substring():返回字符串的一個子字符串,有以下兩種重載形式: public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) 子串在源串中的起始位置為beginIndex,結(jié)束位置為endIndex-1。如

7、果沒有提供endIndex參數(shù),那么結(jié)束位置為:字符串長度-1。例如: String str=0123456; String sub1=str.substring(2); String sub2=str.substring(2,5); System.out.println(str); /打印0123456 System.out.println(sub1); /打印23456 System.out.println(sub2); /打印234,StringBuffer類,length():返回字符串的字符個數(shù),與String類的length()用法相同。 append():向緩沖區(qū)內(nèi)添加新的字符串

8、,例如: StringBuffer sb=new StringBuffer(); sb.append(Hello); sb.append(World); System.out.println(sb); /打印HelloWorld substring():用法與String類的substring()方法相同。 insert( int offset, String str):在字符串中的offset位置插入字符串str,例如: StringBuffer sb=new StringBuffer(0456); sb.insert(1,123); System.out.println(sb); /打印0

9、123456,比較String類和StringBuffer類,String類不可編輯 StringBuffer類可編輯 String s1=new String(“abc”); s1.concat(“def”); StringBuffer sb1=new StringBuffer(“abc”); sb1.append(“def”); System.out.println(s1); System.out.println(sb1);,String對象 (abc),String對象 (abcdef),s1.concat(“def”),s1引用變量,StringBuffer對象 (abcdef),sb

10、1.append(“def”),sb1引用變量,包裝類,基本類型的數(shù)據(jù)分別對應(yīng)的包裝類為: boolean Boolean byte Byte char Charactor short Short int Integer long Long float Float double Double,包裝類的層次結(jié)構(gòu),Number類的主要方法如下: byteValue():返回Number對象所表示的數(shù)字的byte類型值。 intValue():返回Number對象所表示的數(shù)字的int類型值。 longValue():返回Number對象所表示的數(shù)字的long類型值。 shortValue():返回N

11、umber對象所表示的數(shù)字的short類型值。 doubleValue():返回Number對象所表示的數(shù)字的double類型值。 floatValue():返回Number對象所表示的數(shù)字的float類型值。,包裝類的構(gòu)造方法,Integer i=new Integer(1); Float f=new Float( 1.0f); Double d=new Double(1.0); Integer i=new Integer(123); Double d=new Double(123.45D); Float f=new Float(123.45F);,包裝類的常用方法,除Character類和

12、Boolean類以外,包裝類都有valueOf(String s)靜態(tài)工廠方法,可以根據(jù)String類型的參數(shù)來創(chuàng)建包裝類對象。參數(shù)字符串s不能為null,而且該字符串必須可以解析為相應(yīng)的基本類型的數(shù)據(jù),否則雖然編譯會通過,運(yùn)行時會拋出NumberFormatException。例如: Double dDouble.valueOf(123); /合法 Integer i=Integer.valuesOf(12); /合法 Integer i=Integer.valuesOf(abc); /運(yùn)行時拋出NumberFormatException,包裝類的常用方法,除Character類和Boole

13、an類以外,包裝類都有parseXXX(String str)靜態(tài)方法,把字符串轉(zhuǎn)變?yōu)橄鄳?yīng)的基本類型的數(shù)據(jù)(XXX表示基本類型的名稱)。參數(shù)str不能為null,而且該字符串必須可以解析為相應(yīng)的基本類型的數(shù)據(jù),否則雖然編譯會通過,運(yùn)行時會拋出NumberFormatException。例如: int i=Integer.parseInt(123); /合法,i=123 double d=Double.parseDouble(abc); /拋出NumberFormatException,包裝類的用法舉例,將字符串轉(zhuǎn)換為某種基本類型。 int a=Integer.parseInt(“123”);

14、int a1=new Integer(“123”).intValue(); double d=Double.parseDouble(“234.567”); double d1=new Double (“234.567”).doubleValue();,Math類,Math類是final的。 Math的構(gòu)造方法是private的。 Math提供的方法都是靜態(tài)的。,Math類的主要方法,abs():返回絕對值。 ceil():返回大于等于參數(shù)的最小整數(shù)。 floor():返回小于等于參數(shù)的最大整數(shù)。 max():返回兩個參數(shù)的較大值。 min():返回兩個參數(shù)的較小值。 random():返回0.

15、0和1.0 之間的double類型的隨機(jī)數(shù),包括0.0,但不包括1.0。 round():返回四舍五入的整數(shù)值。 sin():正弦函數(shù)。 cos():余弦函數(shù)。 tan():正切函數(shù)。 exp():返回自然對數(shù)的冪。 sqrt():平方根函數(shù)。 pow():冪運(yùn)算。,Math類的常用方法的參數(shù)類型和返回類型,Math類的常用方法,System.out.println(Math.round(3.3); /打印3 System.out.println(Math.round(-3.3); /打印-3 System.out.println(Math.ceil(3.3); /打印4.0 System.o

16、ut.println(Math.ceil(-3.3); /打印-3.0 System.out.println(Math.floor(3.3); /打印3.0 System.out.println(Math.floor(-3.3); /打印-4.0,int a=Math.floor(3.3); /編譯出錯,第9課 Java集合(位于java.util包中),Java集合主要分為三種類型: Set(集):集合中的對象不按特定方式排序,并且沒有重復(fù)對象。它的有些實(shí)現(xiàn)類能對集合中對象按特定方式排序。 List(列表):集合中的對象按照索引位置排序,可以有重復(fù)對象,允許按照對象在集合中的索引位置檢索對象

17、。List與數(shù)組有些相似。 Map(映射):集合中的每一個元素包含一對鍵對象和值對象,集合中沒有重復(fù)的鍵對象,值對象可以重復(fù)。它的有些實(shí)現(xiàn)類能對集合中的鍵對象進(jìn)行排序。,參考Java面向?qū)ο缶幊痰牡?5章,Java集合與數(shù)組的區(qū)別,在創(chuàng)建Java數(shù)組時,必須明確指定數(shù)組的長度,數(shù)組一旦創(chuàng)建,其長度就不能被改變。為了使程序能方便的存儲和操縱數(shù)目不固定的一組數(shù)據(jù),JDK類庫提供了Java集合,所有Java集合類都位于java.util包中。 與Java數(shù)組不同,Java集合中不能存放基本類型數(shù)據(jù),而只能存放對象的引用。,主要集合類的類框圖,Set(集),Set是最簡單的一種集合,集合中的對象不按特

18、定方式排序,并且沒有重復(fù)對象。 Set接口主要有兩個實(shí)現(xiàn)類HashSet和TreeSet。 HashSet類按照哈希算法來存取集合中的對象,存取速度比較快。HashSet類還有一個子類LinkedHashSet類,它不僅實(shí)現(xiàn)了哈希算法,而且實(shí)現(xiàn)了鏈表數(shù)據(jù)結(jié)構(gòu),鏈表數(shù)據(jù)結(jié)構(gòu)能提高插入和刪除元素的性能。 TreeSet類實(shí)現(xiàn)了SortedSet接口,具有排序功能。,Set的一般用法,Set set=new HashSet(); String s1=new String(hello); String s2=s1; String s3=new String(world); set.add(s1); s

19、et.add(s2); set.add(s3); System.out.println(set.size(); /打印集合中對象的數(shù)目2,List(列表),List的主要特征是其元素以線性方式存儲,集合中允許存放重復(fù)對象。List接口主要的實(shí)現(xiàn)類包括: ArrayList:ArrayList代表長度可變的數(shù)組。允許對元素進(jìn)行快速的隨機(jī)訪問,但是向ArrayList中插入與刪除元素的速度較慢。 LinkedList:在實(shí)現(xiàn)中采用鏈表數(shù)據(jù)結(jié)構(gòu)。對順序訪問進(jìn)行了優(yōu)化,向List中插入和刪除元素的速度較快,隨機(jī)訪問則相對較慢。隨機(jī)訪問是指檢索位于特定索引位置的元素。LinkedList單獨(dú)具有addF

20、irst()、addLast()、getFirst()、getLast()、removeFirst()和removeLast()方法,這些方法使得LinkedList可以作為堆棧、隊(duì)列和雙向隊(duì)列使用。,List的用法,向列表中加入元素 List list=new ArrayList(); list.add(new Integer(3); list.add(new Integer(4); list.add(new Integer(3); list.add(new Integer(2); List的get(int index)方法返回集合中由參數(shù)index指定的索引位置的對象,第一個加入到集合中的對象的索引位置為0。以下程序依次檢索出集合中的所有對象: for(int i=0;ilist.size();i+) System.out.print(list.get(i)+ );,對List中的元素進(jìn)行自然排序,List list=new

溫馨提示

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

評論

0/150

提交評論