《Java程序設(shè)計(jì)》第04章(1)_第1頁(yè)
《Java程序設(shè)計(jì)》第04章(1)_第2頁(yè)
《Java程序設(shè)計(jì)》第04章(1)_第3頁(yè)
《Java程序設(shè)計(jì)》第04章(1)_第4頁(yè)
《Java程序設(shè)計(jì)》第04章(1)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、程序設(shè)計(jì)程序設(shè)計(jì)第四章 Java API類(lèi)庫(kù)(一)類(lèi)庫(kù)介紹、java.lang包、字符串Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 2,共32頁(yè)2學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)v 了解了解Java API類(lèi)庫(kù)及類(lèi)庫(kù)及API文檔。文檔。v 掌握掌握java.lang包中的常見(jiàn)類(lèi)。包中的常見(jiàn)類(lèi)。v 掌握掌握String類(lèi)。類(lèi)。v 掌握掌握StringBuffer類(lèi)。類(lèi)。v 掌握日期相關(guān)的關(guān)的使用。掌握日期相關(guān)的關(guān)的使用。v 掌握常用容器的使用。掌握常用容器的使用。v 了解正則表達(dá)式。了解正則表達(dá)式。Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 3,共32頁(yè)3重難點(diǎn)重難點(diǎn)v 重點(diǎn)重點(diǎn)API文

2、檔的使用。文檔的使用。java.lang包中的常見(jiàn)類(lèi)。包中的常見(jiàn)類(lèi)。String類(lèi)。類(lèi)。StringBuffer類(lèi)。類(lèi)。日期相關(guān)的類(lèi)。日期相關(guān)的類(lèi)。容器相關(guān)的類(lèi)。容器相關(guān)的類(lèi)。泛型泛型正則表達(dá)式。正則表達(dá)式。v 難點(diǎn)難點(diǎn)java.lang包中的包中的Class類(lèi)。類(lèi)。String類(lèi)類(lèi)String類(lèi)和類(lèi)和StringBuffer類(lèi)的比較。類(lèi)的比較。SimpleDateFormat類(lèi)。類(lèi)。List類(lèi)。類(lèi)。Set類(lèi)。類(lèi)。Map類(lèi)。類(lèi)。泛型泛型正則表達(dá)式。正則表達(dá)式。Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 4,共32頁(yè)4目錄目錄 4.1 Java API類(lèi)庫(kù)介紹類(lèi)庫(kù)介紹4.2 java

3、.lang包包4.3 字符串處理字符串處理4.4 java.util包包本章分二個(gè)PPT,這是第1個(gè)文件Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 5,共32頁(yè)54.1 Java API類(lèi)庫(kù)介紹類(lèi)庫(kù)介紹v 常用的常用的Java SE API java.lang java.util java.io java.awt和和javax.swing java.sql java.applet v 第三方第三方API JUnit log4j JDBC SWT版本類(lèi)和接口的數(shù)目方法和字段的數(shù)目1.021221251.150454781.21781209351.32130239011.43020(1

4、35個(gè)包個(gè)包)321381.5(5.0)3600(166個(gè)包個(gè)包)6.03817(205個(gè)包個(gè)包)38259Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 6,共32頁(yè)6Java SE API文檔文檔這是最最重要的一份文檔,每位Java程序員都應(yīng)該在自己的硬盤(pán)上有一份。Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 7,共32頁(yè)74.2 java.lang包包v java.lang是是Java語(yǔ)言的核心包語(yǔ)言的核心包v 將被自動(dòng)導(dǎo)入將被自動(dòng)導(dǎo)入v 提供了提供了Java語(yǔ)言的核心功能語(yǔ)言的核心功能 System類(lèi):類(lèi): Object類(lèi):類(lèi): Math類(lèi):數(shù)學(xué)類(lèi)類(lèi):數(shù)學(xué)類(lèi) Stri

5、ng類(lèi):字符串類(lèi):字符串 Exception類(lèi):異常類(lèi)類(lèi):異常類(lèi) Thread類(lèi):線程類(lèi)類(lèi):線程類(lèi)Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 8,共32頁(yè)84.2.1 Object類(lèi)類(lèi)v Object類(lèi)是所有類(lèi)的基類(lèi)類(lèi)是所有類(lèi)的基類(lèi)v 常用方法常用方法 toString()方法:返回對(duì)象的字符串表示,如方法:返回對(duì)象的字符串表示,如Student757aef equals()方法:比較類(lèi)指針的地址方法:比較類(lèi)指針的地址v Object類(lèi)的方法被所有類(lèi)繼承類(lèi)的方法被所有類(lèi)繼承 有些子類(lèi)覆蓋了某些方法有些子類(lèi)覆蓋了某些方法 例如:例如:String類(lèi)覆蓋了類(lèi)覆蓋了toString()和

6、和equals()方法方法Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 9,共32頁(yè)94.2.2 Runtime類(lèi)類(lèi)v Runtime類(lèi)封裝了類(lèi)封裝了Java的執(zhí)行環(huán)境的執(zhí)行環(huán)境v 不能創(chuàng)建,只能通過(guò)靜態(tài)方法不能創(chuàng)建,只能通過(guò)靜態(tài)方法getRuntime()獲取獲取v 作用是與操作系統(tǒng)通信作用是與操作系統(tǒng)通信 獲得內(nèi)存使用情況獲得內(nèi)存使用情況 中止程序,返回到操作系統(tǒng)中止程序,返回到操作系統(tǒng) 運(yùn)行外部程序運(yùn)行外部程序 Runtime rt = Runtime.getRuntime(); System.out.println(Java虛擬機(jī)中的內(nèi)存總量: +rt.totalMemory

7、();Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 10,共32頁(yè)104.2.3 ClassLoader抽象類(lèi)抽象類(lèi)v 用于加載字節(jié)碼文件用于加載字節(jié)碼文件.class到到JVM中中v 通過(guò)通過(guò)Class類(lèi)的類(lèi)的getClassLoader()方法返回它的一個(gè)實(shí)現(xiàn)方法返回它的一個(gè)實(shí)現(xiàn)Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 11,共32頁(yè)114.2.4 Class類(lèi)類(lèi)v 包含了與類(lèi)相關(guān)的操作包含了與類(lèi)相關(guān)的操作 獲得類(lèi)的有關(guān)信息獲得類(lèi)的有關(guān)信息 對(duì)類(lèi)進(jìn)行某些操作對(duì)類(lèi)進(jìn)行某些操作 加載字節(jié)碼文件(調(diào)用加載字節(jié)碼文件(調(diào)用ClassLoader類(lèi)的相應(yīng)方法實(shí)現(xiàn))類(lèi)的相應(yīng)方法

8、實(shí)現(xiàn))v 因此使因此使Java語(yǔ)言具有動(dòng)態(tài)性語(yǔ)言具有動(dòng)態(tài)性Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 12,共32頁(yè)124.2.5 基本數(shù)據(jù)類(lèi)型的包裝類(lèi)基本數(shù)據(jù)類(lèi)型的包裝類(lèi)v 每一種基本數(shù)據(jù)類(lèi)型都有一個(gè)每一種基本數(shù)據(jù)類(lèi)型都有一個(gè)包裝類(lèi)包裝類(lèi) 8種基本數(shù)據(jù)類(lèi)型,有種基本數(shù)據(jù)類(lèi)型,有8種對(duì)應(yīng)種對(duì)應(yīng)的包裝類(lèi)的包裝類(lèi) 封裝了有關(guān)的常量和方法封裝了有關(guān)的常量和方法 最大值、最小值最大值、最小值 類(lèi)型的轉(zhuǎn)換類(lèi)型的轉(zhuǎn)換v 常用的方法常用的方法 字符串表示的數(shù)值轉(zhuǎn)換對(duì)對(duì)應(yīng)字符串表示的數(shù)值轉(zhuǎn)換對(duì)對(duì)應(yīng)的數(shù)值類(lèi)型的數(shù)值類(lèi)型 二進(jìn)制、八進(jìn)制、十進(jìn)制和十二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換六進(jìn)制之間的

9、轉(zhuǎn)換基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型對(duì)應(yīng)的包裝類(lèi)對(duì)應(yīng)的包裝類(lèi)bytebyteByteByteshortshortShortShortintintIntegerIntegerlonglongLongLongfloatfloatFloatFloatdoubledoubleDoubleDoublecharcharCharacterCharacterbooleanbooleanBooleanBooleanJava程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 13,共32頁(yè)134.2.6 Math類(lèi)類(lèi)v 封裝了常用的數(shù)學(xué)方法和兩個(gè)常數(shù)封裝了常用的數(shù)學(xué)方法和兩個(gè)常數(shù)E和和PI 包括指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)等

10、包括指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)等v Math類(lèi)是類(lèi)是final的的 因此它不能被繼承因此它不能被繼承v 它的構(gòu)造方法是它的構(gòu)造方法是private的的 因此它不能被實(shí)例化因此它不能被實(shí)例化v 所有方法都是靜態(tài)的所有方法都是靜態(tài)的 只能通過(guò)類(lèi)名來(lái)引用只能通過(guò)類(lèi)名來(lái)引用Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 14,共32頁(yè)144.2.7 System類(lèi)類(lèi)v 封裝了與平臺(tái)有關(guān)的功能封裝了與平臺(tái)有關(guān)的功能 標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出 外部(操作系統(tǒng))定義的屬性和環(huán)境變量的訪問(wèn)外部(操作系統(tǒng))定義的屬性和環(huán)境變量的訪問(wèn) 快速?gòu)?fù)制數(shù)組的一部分實(shí)用方法快速?gòu)?fù)制數(shù)組的一部分實(shí)用方法

11、 System類(lèi)不能被實(shí)例化。類(lèi)不能被實(shí)例化。v 例如下述代碼退出例如下述代碼退出Java應(yīng)用程序的執(zhí)行:應(yīng)用程序的執(zhí)行:v 下述代碼將輸出應(yīng)用程序執(zhí)行時(shí)的當(dāng)前路徑:下述代碼將輸出應(yīng)用程序執(zhí)行時(shí)的當(dāng)前路徑:String dir = System.getProperty(user.dir);System.out.println(當(dāng)前路徑是: + dir);System.exit(0);Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 15,共32頁(yè)15java.lang中的其它類(lèi)中的其它類(lèi)v 4.2.10 異常處理類(lèi)異常處理類(lèi) 第第5章講解章講解v 4.2.11 線程控制類(lèi)線程控制類(lèi) 第第

12、8章講解章講解Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 16,共32頁(yè)164.3 字符串字符串v 字符串常量字符串常量 使用雙引號(hào)使用雙引號(hào)定義字符串,使用單引號(hào)定義字符串,使用單引號(hào)定義字符。定義字符。 字符串幾乎可以任意長(zhǎng)(從字符串幾乎可以任意長(zhǎng)(從0至至231,約,約20億)。億)。v 字符串類(lèi)字符串類(lèi) String類(lèi)類(lèi) StringBuffer類(lèi)類(lèi) Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 17,共32頁(yè)174.3.2 String類(lèi)字符串類(lèi)字符串v String類(lèi)的聲明和初始化類(lèi)的聲明和初始化 聲明字符串變量聲明字符串變量 初始化字符串初始化字符串 直接賦

13、值,例如:直接賦值,例如: 使用構(gòu)造方法,例如:使用構(gòu)造方法,例如: String類(lèi)實(shí)例的值為空和空串是不同的:類(lèi)實(shí)例的值為空和空串是不同的:str = abc;/ 直接賦值String str2 = new String();/ 創(chuàng)建長(zhǎng)度為0的字符串String str5 = null; / str5的值為空(也是默認(rèn)值),它沒(méi)有值int len = str5.length();/ 沒(méi)有長(zhǎng)度,因此運(yùn)行時(shí)出現(xiàn)異常String str6 = ; / str6的值為空串,它有值,只是長(zhǎng)度為0len = str6.length();/ 長(zhǎng)度為 0 Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈

14、片 18,共32頁(yè)18String類(lèi)的常用方法類(lèi)的常用方法v 字符串的長(zhǎng)度字符串的長(zhǎng)度 String類(lèi)的類(lèi)的length()方法返回字符串的長(zhǎng)度方法返回字符串的長(zhǎng)度v 字符串的比較字符串的比較 必須使用必須使用equals()方法而不是方法而不是=號(hào)來(lái)比較字符串的值號(hào)來(lái)比較字符串的值v 字符串中指定位置的字符字符串中指定位置的字符 String str1 = Java; / 如果內(nèi)存中沒(méi)有Java常量,則創(chuàng)建它 String str2 = Java; / 內(nèi)存中已有Java常量,所以str2指向它 String str3 = new String(Java); / 新創(chuàng)建一個(gè)值為Java的常量

15、 String str4 = new String(Java); / 新創(chuàng)建一個(gè)值為Java的常量 boolean b1 = str1 = str2; / true,str1和str2指向同一個(gè)字符常量 boolean b2 = str2 = str3; / false,str2和str3指向不同的字符常量 boolean b3 = str3 = str4; / false,str3和str4指向不同的字符常量 String s1 = 這是Java程序。; char c1 = s1.charAt(3); / a char c2 = s1.charAt(7); / 序Java程序設(shè)計(jì)與實(shí)訓(xùn)www

16、.幻燈片 19,共32頁(yè)19String類(lèi)的常用方法(續(xù))類(lèi)的常用方法(續(xù))v 字符串的檢索字符串的檢索v 字符串的子串字符串的子串v 字符串的替換字符串的替換v 字符串轉(zhuǎn)換大小寫(xiě)字符串轉(zhuǎn)換大小寫(xiě) String str = MyEclipse.exe; String s1 = str.toUpperCase(); / MYECLIPSE.EXE String s2 = str.toLowerCase(); / myeclipse.exe String str = Java programming.; String s2 = str.replace(pro, Pro); / J

17、ava Programming. String str = MyEclipse.exe; String s2 = str.substring(2, 9); / Eclipse String s1 = 這是Java程序。; char c2 = s1.charAt(7); / 序Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 20,共32頁(yè)20String類(lèi)的特殊性類(lèi)的特殊性v 所有引用數(shù)據(jù)類(lèi)型都必須使用所有引用數(shù)據(jù)類(lèi)型都必須使用new操作符創(chuàng)建,而字符串操作符創(chuàng)建,而字符串類(lèi)型還能通過(guò)直接賦值創(chuàng)建。類(lèi)型還能通過(guò)直接賦值創(chuàng)建。v 字符串常量是一個(gè)對(duì)象,因此可以調(diào)用字符串常量的方法,字符串常

18、量是一個(gè)對(duì)象,因此可以調(diào)用字符串常量的方法,如如Java!.length()。v 字符串類(lèi)型屬于引用數(shù)據(jù)類(lèi)型,但在方法調(diào)用時(shí),采用的字符串類(lèi)型屬于引用數(shù)據(jù)類(lèi)型,但在方法調(diào)用時(shí),采用的是傳值調(diào)用。是傳值調(diào)用。v 字符串類(lèi)型可以用加號(hào)字符串類(lèi)型可以用加號(hào)“+”運(yùn)算符,將字符串類(lèi)的對(duì)象與運(yùn)算符,將字符串類(lèi)的對(duì)象與其它各種類(lèi)型(基本或引用數(shù)據(jù)類(lèi)型)的對(duì)象連接。其它各種類(lèi)型(基本或引用數(shù)據(jù)類(lèi)型)的對(duì)象連接。v 字符串類(lèi)型可以用賦值運(yùn)算符字符串類(lèi)型可以用賦值運(yùn)算符“=”和和“+=”進(jìn)行賦值。進(jìn)行賦值。v 字符串的值本身是常量,是不可變的。字符串的值本身是常量,是不可變的。Java程序設(shè)計(jì)與實(shí)訓(xùn)www.ng

19、幻燈片 21,共32頁(yè)214.3.3 StringBuffer類(lèi)字符串類(lèi)字符串v StringBuffer類(lèi)(緩沖型字符串類(lèi))類(lèi)(緩沖型字符串類(lèi)) 可變長(zhǎng)的和可寫(xiě)的字符序列可變長(zhǎng)的和可寫(xiě)的字符序列 其中除字符序列之外還含有預(yù)留空間其中除字符序列之外還含有預(yù)留空間 直接在字符序列上進(jìn)行追加、插入或刪除操作直接在字符序列上進(jìn)行追加、插入或刪除操作v StringBuffer構(gòu)造方法(只能使用構(gòu)造方法創(chuàng)建)構(gòu)造方法(只能使用構(gòu)造方法創(chuàng)建) StringBuffer sb1 = new StringBuffer(); / 長(zhǎng)度為0,容量為16(默認(rèn)值) StringBuffer sb2

20、= new StringBuffer(50); / 長(zhǎng)度為0,容量為50 StringBuffer sb3 = new StringBuffer(Java); / 長(zhǎng)度為4,容量為20(=4+16)Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 22,共32頁(yè)22長(zhǎng)度與緩沖區(qū)容量長(zhǎng)度與緩沖區(qū)容量v 長(zhǎng)度長(zhǎng)度 String類(lèi)和類(lèi)和StringBuffer類(lèi)都有類(lèi)都有l(wèi)ength()方法方法v 緩沖區(qū)容量(僅緩沖區(qū)容量(僅StringBuffer類(lèi))類(lèi)) 方法方法capacity()返回返回StringBuffer實(shí)例的緩沖區(qū)容量。實(shí)例的緩沖區(qū)容量。 方法方法ensureCapacity(

21、)確保容量至少等于指定的最小值。新緩沖區(qū)確保容量至少等于指定的最小值。新緩沖區(qū)容量取下述二者的較大值:容量取下述二者的較大值: 參數(shù)參數(shù)minCapacity的值。的值。 原有容量的兩倍加原有容量的兩倍加2。 StringBuffer sb1 = new StringBuffer(); / 長(zhǎng)度為0,容量為16 StringBuffer sb2 = new StringBuffer(50); / 長(zhǎng)度為0,容量為50 StringBuffer sb3 = new StringBuffer(Java); / 長(zhǎng)度為4,容量為16+4 = 20 sb1.ensureCapacity(60); /

22、長(zhǎng)度0,容量60,因?yàn)?6*2+2 = 34 60 sb3.append(12345678901234567890); / 長(zhǎng)度4+20 = 24,容量 = 2*20+2 = 42Java程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 23,共32頁(yè)23StringBuffer類(lèi)的比較類(lèi)的比較v 無(wú)法比較無(wú)法比較StringBuffer類(lèi)的值類(lèi)的值 不能用不能用= 也不能用也不能用equals()方法方法v 只能將它們轉(zhuǎn)換為只能將它們轉(zhuǎn)換為String類(lèi),然后進(jìn)行比較類(lèi),然后進(jìn)行比較 StringBuffer sb1 = new StringBuffer(Java); StringBuffer

23、 sb2 = new StringBuffer(Java); boolean b1 = sb1=sb2; / false,不能用= boolean b2 = sb1.equals(sb2); / false,也不能用equals() boolean b3 = sb1.toString().equals(sb2.toString(); / trueJava程序設(shè)計(jì)與實(shí)訓(xùn)幻燈片 24,共32頁(yè)244.3.4 String類(lèi)和類(lèi)和StringBuffer類(lèi)的比較類(lèi)的比較v String類(lèi)在內(nèi)存中的表現(xiàn)類(lèi)在內(nèi)存中的表現(xiàn)v 字符串的值本身是常量,是不可變的,例如: String s2 = abc; / 指向已有的字符串值 System.out.println(s1=s2); / 返回true String s1 = abc; / 在SLP中創(chuàng)建abc String s1 = abc; / 在SLP中創(chuàng)建 s1 = s1 + 123; /

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論