版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 壽司餐館服務(wù)行業(yè)營(yíng)銷(xiāo)策略方案
- 碳素材料細(xì)分市場(chǎng)深度研究報(bào)告
- 彈花齒條產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 危機(jī)管理培訓(xùn)行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 發(fā)行有價(jià)證券行業(yè)營(yíng)銷(xiāo)策略方案
- PET塑料瓶的回收利用行業(yè)營(yíng)銷(xiāo)策略方案
- 刻度機(jī)產(chǎn)品供應(yīng)鏈分析
- 塑料加工機(jī)器產(chǎn)品供應(yīng)鏈分析
- 聲音和影像的數(shù)字化行業(yè)營(yíng)銷(xiāo)策略方案
- 裝釣魚(yú)假餌用盒商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 醫(yī)學(xué)美容技術(shù)專(zhuān)業(yè)《美容禮儀》課程標(biāo)準(zhǔn)
- 國(guó)能遼寧北票 200MW 風(fēng)力發(fā)電項(xiàng)目地質(zhì)災(zāi)害危險(xiǎn)性評(píng)估報(bào)告
- 智慧醫(yī)聯(lián)體建設(shè)項(xiàng)目可行性研究報(bào)告
- 2024年中考英語(yǔ)題型復(fù)習(xí):閱讀理解(含練習(xí)題及答案)
- 2024-2030年中國(guó)農(nóng)業(yè)機(jī)械產(chǎn)業(yè)發(fā)展格局與需求趨勢(shì)預(yù)測(cè)研究報(bào)告
- DZ∕T 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- HYT 087-2005 近岸海洋生態(tài)健康評(píng)價(jià)指南
- 人教版五年級(jí)美術(shù)學(xué)科試卷(附帶答案和考察要點(diǎn)解說(shuō))
- 士官生生涯規(guī)劃
- (正式版)SHT 3158-2024 石油化工管殼式余熱鍋爐
- 內(nèi)蒙古呼和浩特市回民區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期中語(yǔ)文試題
評(píng)論
0/150
提交評(píng)論