Java程序設(shè)計(jì)教程課件第5章 常用實(shí)用類(lèi)_第1頁(yè)
Java程序設(shè)計(jì)教程課件第5章 常用實(shí)用類(lèi)_第2頁(yè)
Java程序設(shè)計(jì)教程課件第5章 常用實(shí)用類(lèi)_第3頁(yè)
Java程序設(shè)計(jì)教程課件第5章 常用實(shí)用類(lèi)_第4頁(yè)
Java程序設(shè)計(jì)教程課件第5章 常用實(shí)用類(lèi)_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章常用實(shí)用類(lèi)異常類(lèi)2字符串類(lèi)4Class類(lèi)

31斷言

33正則表達(dá)式35本章內(nèi)容提要Object類(lèi)

1.Object類(lèi)包含在java.lang包中,是Java中所有類(lèi)的父類(lèi)。

2.Object類(lèi)中包含如下主要方法:publicObject()publicfinalClassgetClass()publicStringtoString()5.1Object與System

[例5-1]Object類(lèi)中方法的使用類(lèi)的名字:Student@ca0b65.1Object與System

System類(lèi)

1.System類(lèi)包含在java.lang包中

2.System類(lèi)是一個(gè)final類(lèi),不能夠派生出子類(lèi)

3.不能創(chuàng)建對(duì)象

4.System類(lèi)中包含如下主要方法:publicstaticlongcurrentTimeMillis()publicstaticvoidexit(int

status)5.1Object與System

5.System類(lèi)中包含如下主要類(lèi)常量:publicstaticfinaljava.io.InputStreamin標(biāo)準(zhǔn)輸入流對(duì)象,此對(duì)象可以通過(guò)read方法接收從鍵盤(pán)輸入的內(nèi)容。publicstaticfinaljava.io.PrintStreamout標(biāo)準(zhǔn)輸出流對(duì)象,此對(duì)象可以通過(guò)println或print方法將內(nèi)容輸出到控制臺(tái)顯示。5.1Object與System

[例5-2]顯示輸出當(dāng)前系統(tǒng)時(shí)間的毫秒表示請(qǐng)輸入:100↙100MonJan2510:18:13CST2011

5.1Object與System

Class是java.lang包中的類(lèi),該類(lèi)的實(shí)例用來(lái)封裝對(duì)象運(yùn)行時(shí)的狀態(tài)。當(dāng)一個(gè)類(lèi)被加載到內(nèi)存中且創(chuàng)建對(duì)象時(shí),和該類(lèi)相關(guān)的一個(gè)類(lèi)型為Class的對(duì)象就會(huì)自動(dòng)創(chuàng)建。Class類(lèi)本身不提供構(gòu)造方法,因此需要通過(guò)調(diào)用getClass()方法獲取和該對(duì)象相關(guān)的一個(gè)Class對(duì)象。5.2Class類(lèi)[例5-3]使用Class類(lèi)列出Student的全部成員變量和方法的名稱(chēng)5.2Class類(lèi)Student類(lèi)的第1個(gè)變量為:intStudent.stu_codeStudent類(lèi)的第2個(gè)變量為:java.lang.StringStudent.stu_name1.產(chǎn)生異常

2.拋出異常3.捕獲異常產(chǎn)生異常5.3異常類(lèi)結(jié)構(gòu)化異常處理

try{ 可能產(chǎn)生異常的代碼段;}catch(異常類(lèi)名1對(duì)象名1){ 處理語(yǔ)句組1;}……catch(異常類(lèi)名n對(duì)象名n){ 處理語(yǔ)句組n;}finally{最終處理語(yǔ)句;}

5.3異常類(lèi)[例5-4]結(jié)構(gòu)化異常處理5.3異常類(lèi)/byzero程序執(zhí)行完畢

拋出異常一個(gè)方法并不需要處理它所生成的異常,而是向上傳遞,由調(diào)用它的方法來(lái)處理異常,這時(shí)就要用到throws子句。返回類(lèi)型方法名(參數(shù))throws異常類(lèi)名

{

語(yǔ)句體

}5.3異常類(lèi)

異常的拋出是通過(guò)throw語(yǔ)句來(lái)實(shí)現(xiàn)的。

throw語(yǔ)句的格式為:throwThrowableobject。

5.3異常類(lèi)

[例5-5]非結(jié)構(gòu)化異常5.3異常類(lèi)null

創(chuàng)建用戶(hù)自定義異常的步驟:

(1)定義一個(gè)新的異常類(lèi),其通常繼承Exception類(lèi)、Exception類(lèi)的子類(lèi)或用戶(hù)自定義的其他異常類(lèi)。

class自定義異常類(lèi)名extends父類(lèi)異常名

{

語(yǔ)句體

}5.3異常類(lèi)

(2)為新的異常類(lèi)定義屬性和方法,或重載父類(lèi)的屬性和方法。

Exception類(lèi)從父類(lèi)Throwable那里繼承了若干方法,其中較為常用的有以下幾種:StringgetMessage()StringtoString()voidprintStackTrace()

5.3異常類(lèi)[例5-6]自定義異常類(lèi)5.3異常類(lèi)接收到的參數(shù)為:5沒(méi)有捕獲到任何異常接收到的參數(shù)為:0捕獲自定義異常[0]斷言:

斷言有兩種形式:(1)assertExpression1;(2)assertExpression1:Expression2;[例5-7]斷言的使用

5.4斷言

字符串是字符的序列。

Java語(yǔ)言把字符串當(dāng)做對(duì)象來(lái)處理,并提供了一系列的方法對(duì)整個(gè)字符串進(jìn)行操作

Java語(yǔ)言提供String類(lèi)和StringBuffer類(lèi),用定義的對(duì)象來(lái)存儲(chǔ)字符串在內(nèi)存空間的首地址。

String類(lèi)和StringBuffer類(lèi)都被聲明為final,不能通過(guò)繼承來(lái)擴(kuò)展。5.5String與StringBuffer

字符串的表示和創(chuàng)建

1.字符串常量在Java中同樣是以雙引號(hào)內(nèi)括住一串字符的形式來(lái)表示字符串常量。例:“你好”,“1234.987”,“weqweo”。

2.聲明對(duì)象

Strings;5.5String與StringBuffer

3.創(chuàng)建對(duì)象:使用String類(lèi)的構(gòu)造方法創(chuàng)建String()String(Strings)String(chara[])String(chara[],intstartIndex,intcount)4.引用字符串常量對(duì)象字符串常量是對(duì)象,因此可以把字符串常量的引用賦值給一個(gè)字符串變量。5.5String與StringBuffer

字符串的常用方法

1.字符串長(zhǎng)度獲取字符串長(zhǎng)度即字符串中所含字符的個(gè)數(shù)。格式:字符串對(duì)象.length();

例如:Strings="wearestudents",tom="我們是學(xué)生";intn1,n2;n1=s.length();n2=tom.length();字符串常量也可以使用

length()方法獲得長(zhǎng)度,如"你的愛(ài)好".length()的值是4。5.5String與StringBuffer

2.字符串比較整體比較方法publicbooleanequals(Strings)publicbooleanequalsIgnoreCase(Strings)首尾比較方法publicbooleanstartsWith(Strings)publicbooleanendsWith(Strings)5.5String與StringBuffer

[例5-8]字符串的比較truefalsetruefalsetruetrue5.5String與StringBuffer

區(qū)域比較方法publicbooleanregionMatches(intfirstStart,Stringother,intortherStart,intlength)publicbooleanregionMatches(booleanb,intfirstStart,Stringother,intortherStart,intlength)

5.5String與StringBuffer

[例5-9]統(tǒng)計(jì)輸入的字符串中包含的“is”子字符串的個(gè)數(shù)5.5String與StringBuffer

is的個(gè)數(shù)為2

大小比較方法publicintcompareTo(Strings)publicintcompareToIgnoreCase(Strings)

例如:

Stringstr="abcd"pareTo(“l(fā)ove”);//返回小于0的值。

pareTo(“China”);//返回大于0的值。

pareTo(“abcd”);//返回0值。

5.5String與StringBuffer

3.字符串的檢索該類(lèi)方法可以根據(jù)不同的檢索規(guī)則搜索指定字符串在原字符串中出現(xiàn)的位置。publicintindexOf(Stringstr)publicintindexOf(Stringstr, intfromIndex)publicintlastIndexOf(Stringstr)publicintlastIndexOf(Stringstr, intfromIndex)5.5String與StringBuffer

例如:Stringtom=“IloveChina”;tom.indexOf(“a”);tom.indexOf(“ve”,2);tom.indexOf(“c”,2);5.5String與StringBuffer

4.字符串的截取該類(lèi)方法可以在當(dāng)前字符串中進(jìn)行子字符串的截取。publicStringsubstring(intbeginIndex)publicStringsubstring(intbeginIndex,intendIndex)5.5String與StringBuffer

4.字符串的替換該類(lèi)方法可以將字符串中的子字符串替換為參數(shù)字符串。publicStringreplaceAll(Stringregex, Stringreplacement)publicStringreplaceFirst(Stringregex, Stringreplacement)publicStringtrim()5.5String與StringBuffer

[例5-10]字符串操作方法練習(xí)d:\doc\example.docexample.docexample.java5.5String與StringBuffer

在字符串中,要表示‘\’需要將其轉(zhuǎn)義為‘\\’。

用StringTokenizer類(lèi)分解字符串

1.java.util包中的StringTokenizer類(lèi):將字符串分解成可被獨(dú)立使用的子字符串

2.常用的構(gòu)造方法:StringTokenizer(Strings)StringTokenizer(Strings,Stringdelim)5.5String與StringBuffer

例如:

StringTokenizerfenxi=new StringTokenizer("wearestudent");StringTokenizerfenxi=newStringTokenizer("we,are;student",",;");

","和";"均為獨(dú)立分隔符。

5.5String與StringBuffer

3.重要方法publicStringnextToken()publicbooleanhasMoreTokens()publicintcountTokens()5.5String與StringBuffer

[例5-11]字符串分解練習(xí)I還剩4個(gè)單詞love還剩3個(gè)單詞China還剩2個(gè)單詞do.還剩1個(gè)單詞you?還剩0個(gè)單詞s共有單詞:5個(gè)5.5String與StringBuffer

字符串與字符、字節(jié)數(shù)組

1.字符串與字符數(shù)組publicvoidgetChars(intstart, intend,charc[],intoffset)publicchar[]toCharArray()5.5String與StringBuffer

2.字符串與字節(jié)數(shù)組用字節(jié)數(shù)組創(chuàng)建字符串對(duì)象String(byte[]c)String(byte[]c,intoffset,intlength)將字符串轉(zhuǎn)化為字節(jié)數(shù)組publicbyte[]getBytes()5.5String與StringBuffer

[例5-12]字符串與字節(jié)數(shù)組的相互轉(zhuǎn)換5.5String與StringBuffer

足球中國(guó)足球隊(duì)數(shù)組d的長(zhǎng)度是:6愛(ài)StringBuffer類(lèi)

1.StringBuffer類(lèi)的構(gòu)造方法StringBuffer()StringBuffer(intcapacity)StringBuffer(Stringstr)

StringBuffer在使用時(shí),如果內(nèi)存空間的需求超出默認(rèn)大小的劃分,那么此時(shí)系統(tǒng)會(huì)為其自動(dòng)進(jìn)行空間的追加。5.5String與StringBuffer

2.常用方法方法含義publicStringBufferappend(Stringstr)將參數(shù)字符串str追加到當(dāng)前StringBuffer對(duì)象的后面publiccharcharAt(intindex)獲取當(dāng)前StringBuffer對(duì)象在參數(shù)index位置上的字符publicvoidsetCharAt(intindex,charch)將當(dāng)前StirngBuffer對(duì)象在參數(shù)index位置上的字符替換為參數(shù)字符ch5.5String與StringBuffer

5.5String與StringBuffer

方法含義publicinsert(intindex,Stringstr)在當(dāng)前StringBuffer對(duì)象的參數(shù)index位置上,插入一個(gè)字符串strpublicreverse()將當(dāng)前StringBuffer對(duì)象中的內(nèi)容逆置publicdelete(intstartIndex,intendIndex)將當(dāng)前StringBuffer對(duì)象中從參數(shù)startIndex到參數(shù)endIndex-1之間的內(nèi)容刪除publicreplace(intstartIndex,intendIndex,Stringstr)將當(dāng)前StringBuffer對(duì)象中從參數(shù)startIndex到參數(shù)endIndex-1之間的內(nèi)容替換為參數(shù)字符串str[例5-13]StringBuffer類(lèi)的應(yīng)用5.5String與StringBuffer

我是中國(guó)人我是中國(guó)人,萬(wàn)歲??!歲萬(wàn),人國(guó)中是我

5.6Java基本數(shù)據(jù)類(lèi)型的封裝

類(lèi)別基本數(shù)據(jù)類(lèi)型封裝類(lèi)封裝類(lèi)中的常用類(lèi)常量整型intIntegerMAX_VALUE(231-1)/MIN_VALUE(-231)byteByteMAX_VALUE(27-1)/MIN_VALUE(-27)shortShortMAX_VALUE(215-1)/MIN_VALUE(-215)longLongMAX_VALUE(263-1)/MIN_VALUE(-263)浮點(diǎn)型floatFloatMAX_VALUE((2-2-23)·2127)/MIN_VALUE(2-149)doubleDoubleMAX_VALUE((2-2-52)·21023)/MIN_VALUE(2-1074)字符型charCharacterMAX_VALUE(‘\uFFFF’)/MIN_VALUE(‘\u0000’)布爾型booleanBooleanTRUE/FALSE基本數(shù)據(jù)類(lèi)型與封裝類(lèi)型的轉(zhuǎn)換

1.Byte、Integer、Short、Long類(lèi)基本數(shù)據(jù)數(shù)據(jù)

封裝類(lèi)型對(duì)象Byte(bytenum)Integer(intnum)Short(shortnum)Long(longnum)5.6Java基本數(shù)據(jù)類(lèi)型的封裝

封裝類(lèi)型對(duì)象

基本數(shù)據(jù)類(lèi)型數(shù)據(jù):byteValue()intValue()shortValue()longValue()5.6Java基本數(shù)據(jù)類(lèi)型的封裝

2.Double和Float類(lèi)Double類(lèi)和Float類(lèi)實(shí)現(xiàn)了對(duì)double和float基本型數(shù)據(jù)的類(lèi)封裝。使用Double類(lèi)的構(gòu)造方法Double(doublenum)創(chuàng)建一個(gè)Double類(lèi)型的對(duì)象5.6Java基本數(shù)據(jù)類(lèi)型的封裝

使用Float類(lèi)的構(gòu)造方法Float(floatnum)創(chuàng)建一個(gè)Float類(lèi)型的對(duì)象。Double對(duì)象調(diào)用doubleValue()方法可以返回該對(duì)象封裝的double型數(shù)據(jù)Float對(duì)象調(diào)用floatValue()方法可以返回該對(duì)象封裝的float型數(shù)據(jù)。5.6Java基本數(shù)據(jù)類(lèi)型的封裝

例如:

Integeri=newInteger(50);inta=Value();Floatf=newFloat(203.5f);floatb=f.floatValue();

5.6Java基本數(shù)據(jù)類(lèi)型的封裝

3.Character類(lèi)構(gòu)造方法:Character(charc)創(chuàng)建一個(gè)Character類(lèi)的對(duì)象。5.6Java基本數(shù)據(jù)類(lèi)型的封裝

5.6Java基本數(shù)據(jù)類(lèi)型的封裝

方法含義publicstaticbooleanisDigit(charch)判斷參數(shù)字符ch是否是數(shù)字字符,若是則返回true,否則返回falsepublicstaticbooleanisLetter(charch)判斷參數(shù)字符ch是否是字母字符,若是則返回true,否則返回falsepublicstaticbooleanisLetterOrDigit(charch)判斷參數(shù)字符ch是否是字母字符或數(shù)字,若是則返回true,否則返回falsepublicstaticbooleanisLowerCase(charch)判斷參數(shù)字符ch是否是小寫(xiě)字母,若是則返回true,否則返回false5.6Java基本數(shù)據(jù)類(lèi)型的封裝

方法含義publicstaticbooleanisUpperCase(charch)判斷參數(shù)字符ch是否是大寫(xiě)字母,若是則返回true,否則返回falsepublicstaticchartoLowerCase(charch)將參數(shù)字符ch轉(zhuǎn)換為小寫(xiě)字母publicstaticchartoUpperCase(charch)將參數(shù)字符ch轉(zhuǎn)換為大寫(xiě)字母publicstaticbooleanisSpaceChar(charch)判斷參數(shù)字符ch是否是空格字符,若是則返回true,否則返回false4.Boolean類(lèi)

Boolean類(lèi)實(shí)現(xiàn)了對(duì)boolean基本型數(shù)據(jù)的類(lèi)封裝。構(gòu)造方法:Boolean(booleanb)[例5-14]數(shù)據(jù)類(lèi)型封裝練習(xí)5.6Java基本數(shù)據(jù)類(lèi)型的封裝

5trueLOVlov字符串與數(shù)值類(lèi)型的相互轉(zhuǎn)換

1.字符串轉(zhuǎn)換為數(shù)值類(lèi)型方法含義publicstaticintparseInt(Stringstr)將參數(shù)字符串str轉(zhuǎn)換為基本整型十進(jìn)制整數(shù)publicstaticbyteparseByte(Stringstr)將參數(shù)字符串str轉(zhuǎn)換為字節(jié)型十進(jìn)制整數(shù)publicstaticshortparseShort(Stringstr)將參數(shù)字符串str轉(zhuǎn)換為短整型十進(jìn)制整數(shù)5.6Java基本數(shù)據(jù)類(lèi)型的封裝

5.6Java基本數(shù)據(jù)類(lèi)型的封裝

方法含義publicstaticlongparseLong(Stringstr)將參數(shù)字符串str轉(zhuǎn)換為長(zhǎng)整型十進(jìn)制整數(shù)publicstaticfloatparseFloat(Stringstr)將參數(shù)字符串str轉(zhuǎn)換為單精度實(shí)型十進(jìn)制數(shù)publicstaticdoubleparseDouble(Stringstr)將參數(shù)字符串str轉(zhuǎn)換為雙精度實(shí)型整數(shù)[例5-15]通過(guò)鍵盤(pán)輸入若干個(gè)數(shù),計(jì)算其平均值,并輸出javaExample6_111234平均數(shù):23.05.6Java基本數(shù)據(jù)類(lèi)型的封裝

2.數(shù)值類(lèi)型轉(zhuǎn)換為字符串?dāng)?shù)值類(lèi)型轉(zhuǎn)換為字符串的方法主要有兩種:方法一:將數(shù)值與空字符串進(jìn)行連接,完成數(shù)值字符串的組合,例如:Strings=123+"";

方法二:使用字符串類(lèi)中的相應(yīng)類(lèi)方法:5.6Java基本數(shù)據(jù)類(lèi)型的封裝

5.6Java基本數(shù)據(jù)類(lèi)型的封裝

方法含義publicstaticStringvalueOf(byten)將參數(shù)字節(jié)變量n轉(zhuǎn)換為字符串publicstaticStringvalueOf(intn)將參數(shù)整型變量n轉(zhuǎn)換為字符串publicstaticStringvalueOf(longn)將參數(shù)長(zhǎng)整型變量n轉(zhuǎn)換為字符串publicstaticStringvalueOf(floatn)將參數(shù)單精度實(shí)型變量n轉(zhuǎn)換為字符串publicstaticStringvalueOf(doublen)將參數(shù)雙精度實(shí)型變量n轉(zhuǎn)換為字符串Math類(lèi)在java.lang包中Math類(lèi)還有兩個(gè)類(lèi)常量E和PI,它們代表了數(shù)學(xué)中的數(shù)學(xué)常數(shù)和圓周率,其值分別是2.7182828284590452354和3.14159265358979323846。5.7Math類(lèi)和大數(shù)類(lèi)

方法含義publicstaticdoubleabs(doublea)返回a的絕對(duì)值publicstaticdoublemax(doublea,doubleb)返回a,b的最大值publicstaticdoublemin(doublea,doubleb)返回a,b的最小值publicstaticdoublerandom()產(chǎn)生一個(gè)0到1之間的隨機(jī)數(shù)不包括0和13.常用方法5.7Math類(lèi)和大數(shù)類(lèi)

5.7Math類(lèi)和大數(shù)類(lèi)

方法含義publicstaticdoublepow(doublea,doubleb)返回a的b次冪publicstaticdoublesqrt(doublea)返回a的平方根publicstaticdoublelog(doublea)返回a的對(duì)數(shù)(以自然數(shù)為底)publicstaticdoublesin(doublea)返回a的正弦值publicstaticdoubleasin(doublea)返回a的反正弦值[例5-16]Math類(lèi)的使用較小的面積是157.07963267948966

格式化后的數(shù)據(jù)是78.545.7Math類(lèi)和大數(shù)類(lèi)

java.math包中的BigIn

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論