版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)科學(xué)與技術(shù)系顏德彪Java程序設(shè)計(jì)目標(biāo):Object類及相關(guān)工具類的介紹。通過本課的學(xué)習(xí),學(xué)員應(yīng)該掌握如下知識(shí):1)理解包裝類的功用。2)掌握String類中的常用方法。3)理解StringBuffer和StringBuilder類中的常用方法;理解String、StringBuffer、StringBuilder類的區(qū)別。4)了解Math類的使用5)了解日期類的使用工具類時(shí)間:2學(xué)時(shí)教學(xué)方法:PPT講解
示例練習(xí)本章要點(diǎn)JavaAPI理解API的概念Object類包裝類String類與StringBuffer類String類的常用方法StringBuffer類的常用方法StringBuilder類的常用方法String與StringBuffer的區(qū)別StringBuffer與StringBuilder的區(qū)別Math類日期類型JavaAPI1Object類2包裝類3字符串類4Math類5日期類型6ContentsJAVAAPI簡(jiǎn)介API的概念A(yù)PI(ApplicationProgrammingInterface)應(yīng)用程序接口Java中的API,就是JDK提供的各種功能的Java類JDK幫助文檔JAVA_API_CN.chmJAVAAPI簡(jiǎn)介JDK中常用的包java.langJava語言包(包含String、Math、System等類),任何類中,該包中的類都會(huì)被自動(dòng)導(dǎo)入。java.util包含一些實(shí)用的工具類(包含list,calendar,date等類)java.awt圖形用戶界面包。java.io提供多種輸入/輸出功能的類。JavaAPI1Object類2包裝類3字符串類4Math類5日期類型6ContentsObject介紹及方法Object類Object類是所有類的超類,Object是Java語言中唯一一個(gè)沒有父類的類。一個(gè)類可以不是Object類的直接子類,但一定是Object類的子類,Java中的每一個(gè)類都是從Object擴(kuò)展來的。在Object類中定義的方法,在所有類中都可以使用。Object類常用方法
示例:ObjectSample.javapublicbooleanequals(Object
obj)比較兩個(gè)對(duì)象引用的值是否相等(比較哈希地址)publicinthashCode()返回十進(jìn)制整數(shù),唯一標(biāo)識(shí)一個(gè)對(duì)象publicStringtoString()返回類名@hashcodeJavaAPI1Object類2包裝類3字符串類4Math類5日期類型6Contents包裝類簡(jiǎn)介包裝類基本數(shù)據(jù)類型不是對(duì)象層次結(jié)構(gòu)的組成部分。有時(shí)需要像處理對(duì)象一樣處理這些基本數(shù)據(jù)類型,可通過相應(yīng)的“包裝類”來將其“包裝”。數(shù)據(jù)類型封裝類booleanBooleanbyteBytecharCharacterdoubleDoublefloatFloatintIntegerlongLongshortShort基本數(shù)據(jù)類型轉(zhuǎn)換為包裝類基本數(shù)據(jù)類型通過構(gòu)造器轉(zhuǎn)換為包裝類intpInt=500;IntegerwInt=newInteger(pInt);示例:TestWrapper.java字符串轉(zhuǎn)換為包裝類字符串通過構(gòu)造方法轉(zhuǎn)換為包裝類字符串通過包裝類的valueOf(Strings)轉(zhuǎn)換為包裝類StringsInt=“500”;IntegerwInt=newInteger(sInt);StringsInt=“500”;IntegerwInt=Integer.valueOf(sInt);
注意:字符串不能通過以上兩種方式轉(zhuǎn)換為Character示例:TestWrapper.java包裝類轉(zhuǎn)換為基本數(shù)據(jù)類型包裝類通過xxxValue()方法轉(zhuǎn)換為基本數(shù)據(jù)類型
IntegerwInt=newInteger(500);intpInt=wIValue();示例:TestWrapper.java包裝類轉(zhuǎn)換為字符串包裝類通過toString()方法轉(zhuǎn)換為字符串IntegerwInt=newInteger(500);StringsInt=wInt.toString();示例:TestWrapper.java字符串轉(zhuǎn)換為基本數(shù)據(jù)類型字符串通過parseXXX(Strings)方法轉(zhuǎn)換為基本數(shù)據(jù)類型StringsInt=“500”;intpInt=Integer.parsetIInt(sInt);示例:TestWrapper.java自動(dòng)裝箱和自動(dòng)拆箱自動(dòng)的裝箱和自動(dòng)拆箱示例:TestWrapper.java
在進(jìn)行基本數(shù)據(jù)類型和對(duì)應(yīng)的包裝類轉(zhuǎn)換時(shí),系統(tǒng)將自動(dòng)進(jìn)行JDK自從5.0版本后引入方便程序的編寫intpInt=500;IntegerwInt=pInt;intn=wInt;JavaAPI1Object類2包裝類3字符串類4Math類5日期類型6ContentsString類String類代表一組不可改變的unicode字符序列。String類用于比較兩字符串、查找和抽取串中的字符或子串、字符串與其他類型之間的轉(zhuǎn)換等。String類對(duì)象的內(nèi)容一旦被初始化就不能再改變。String類String對(duì)象的創(chuàng)建String類的構(gòu)造方法初始化一個(gè)新創(chuàng)建的String對(duì)象,它表示一個(gè)空字符序列。
初始化一個(gè)新創(chuàng)建的String對(duì)象,表示一個(gè)與該參數(shù)相同的字符序列分配一個(gè)新的字符串,它包含當(dāng)前包含在字符串緩沖區(qū)參數(shù)中的字符序列。字符串文字常量本身是一個(gè)String對(duì)象String
變量名=newString();
String
變量名=newString(String
value);
String
變量名=newString(StringBufferbuf);
String
變量名=“hello”;String類“+”字符串連接運(yùn)算符連接操作符“+”,可以將其它各種類型的數(shù)據(jù)轉(zhuǎn)換成字符串,并前后連接成新的字符串?練習(xí)Stringstr1=“hello”;Stringstr2=“world”;Stringstr=str1+str2;//str為“helloworld”System.out.println(5+6+’A’);System.out.println(5+6+”A”);System.out.println(5+”A”+6);7611A5A6String類String類的性質(zhì)示例
StringDemo.java任何一個(gè)String對(duì)象在創(chuàng)建之后都不能對(duì)它的內(nèi)容作出任何改變(immutable)連接、獲得子串和改變大小寫等操作,如果返回值同原字符串不同,實(shí)際上是產(chǎn)生了一個(gè)新的String對(duì)象在程序的任何地方,相同的字符串字面常量都是同一個(gè)對(duì)象String類重置了equals方法,用于比較兩個(gè)字符串的內(nèi)容Stringstr1=“hello”;Stringstr2=newString(“hello”);System.out.println(str1==str2);System.out.println(str1.equals(str2));String類String類的常用方法方法含義booleanequals(String)判斷兩個(gè)字符串對(duì)象的內(nèi)容是否相等booleanequalsIgnoreCase(String)比較兩個(gè)字符串的內(nèi)容是否相等,忽略大小寫StringtoUpperCase()將String對(duì)象中的所有字符都轉(zhuǎn)換為大寫StringtoLowerCase()將String對(duì)象中的所有字符都轉(zhuǎn)換為小寫charcharAt(int)返回指定索引處的char值StringsubString(intbegin)返回一個(gè)新字符串,該字符串是從begin開始的字符串的內(nèi)容StringsubString(intbegin,intend)返回一個(gè)新字符串,該字符串是從begin開始到end結(jié)束的字符串的內(nèi)容String類String類的常用方法方法含義intindexOf/lastIndexOf(char)返回指定字符在此字符串中第一次/最后一次出現(xiàn)處的索引。intindexOf/lastIndexOf(char,int)從指定的索引開始搜索,返回在此字符串中第一次/最后一次出現(xiàn)指定字符處的索引intindexOf/lastIndexOf(String)返回第一次出現(xiàn)的指定子字符串在此字符串中的索引intindexOf/lastIndexOf(String,int)從指定的索引開始搜索,返回在此字符串中第一次/最后一次出現(xiàn)指定字符串處的索引Stringtrim()返回新的字符串,忽略前導(dǎo)空白和尾部空白intlength()返回此字符串的長(zhǎng)度String類Stringstr=xxx;if(str!=null&&str.length()!=0){}
?
練習(xí)我們通過用戶名和密碼來登陸系統(tǒng)的時(shí)候,需要對(duì)用戶身份的合法性做判斷。在判斷之前,我們需要先驗(yàn)證用戶輸入的信息是否為空,如何驗(yàn)證呢?反過來可以嗎?在判斷字符串為空的時(shí)候,我們要先判斷是不是對(duì)象,再判斷是不是空字符串?。tring方法練習(xí)String字符串格式化String.format()第一參數(shù)叫格式表達(dá)式,在格式化表達(dá)式中可以使用多個(gè)”%”,如:Strings=String.format(“Youpayme%,.2f,andIshouldpayyou%,d”,1236.234,5000);其中“%”表示要格式化的數(shù)字
,d:以十進(jìn)制整數(shù)帶逗號(hào)的方式來表示;
.2f:以小數(shù)點(diǎn)后兩位的方式來格式化此浮點(diǎn)數(shù);
,.2f:代表整數(shù)部分以逗號(hào)的形式表示,小數(shù)部分以兩位來格式化;
Strings=String.format(“%,d”,1000000);System.out.println(s);//1,000,000String方法練習(xí)String字符串格式化String.format()System.out.print()一般標(biāo)準(zhǔn)輸出,不換行System.out.println()一般標(biāo)準(zhǔn)輸出,最后會(huì)換行System.out.printf()格式化輸出,參考String.format()
Stringname="cary";intage=18;System.out.printf("Hello,mynameis%s,myageis%d.",name,age);String方法練習(xí)String字符串分割String.split()該方法返回一個(gè)字符串?dāng)?shù)組
regex:定界正則表達(dá)式limit:limit控制模式應(yīng)用的次數(shù),因此影響所得數(shù)組的長(zhǎng)度。同上,limit為0的情況,所得數(shù)組中不包括末尾空字符。?
練習(xí)
String_split.javaStringss="abc:def:xyz";
String[]chars=ss.split(":");System.out.println(Arrays.toString(chars));publicString[]split(Stringregex,intlimit)publicString[]split(Stringregex)[abc,def,xyz]String方法練習(xí)String字符串匹配正則表達(dá)式
Patternpattern=Ppile("b*g");Matchermatcher=pattern.matcher("bbg");System.out.println(matcher.matches());System.out.println(Pattern.matches("b*g","bbg"));//驗(yàn)證郵政編碼System.out.println(Pattern.matches("[0-9]{6}","200038"));System.out.println(Pattern.matches("http://d{6}","200038"));//驗(yàn)證電話號(hào)碼System.out.println(Pattern.matches("[0-9]{3,4}//-?[0-9]+","02178989799"));Java正則表達(dá)式總結(jié)/luosijin123/article/details/4792181StringBuffer類StringBuffer類StringBuffer類用于內(nèi)容可以改變的字符串可以使用StringBuffer來對(duì)字符串的內(nèi)容進(jìn)行動(dòng)態(tài)操作,不會(huì)產(chǎn)生額外的對(duì)象
StringBuffer類StringBuffer對(duì)象的創(chuàng)建構(gòu)造一個(gè)其中不帶字符的字符串緩沖區(qū),其初始容量為16個(gè)字符構(gòu)造一個(gè)不帶字符,但具有指定初始容量的字符串緩沖區(qū)。構(gòu)造一個(gè)字符串緩沖區(qū),并將其內(nèi)容初始化為指定的字符串內(nèi)容。StringBuffer
變量名=newStringBuffer();
StringBuffer
變量名=newStringBuffer(intcapacity
);
StringBuffer
變量名=newStringBuffer(Stringvalue);示例:TestStr.javaStringBuffer類方法含義intcapacity()返回當(dāng)前容量intlength()返回長(zhǎng)度(字符數(shù))StringBufferreverse()將此字符序列用其反轉(zhuǎn)形式取代voidsetCharAt(int,char)將給定索引處的字符設(shè)置為chvoiddelete(intbegin,intend)移除此序列的子字符串中的字符charcharAt(int)返回此序列中指定索引處的char值StringtoString()將StringBuffer對(duì)象轉(zhuǎn)換成相應(yīng)的StringStringBuffer類的常用方法示例StringBuf.java
StringBuffer類StringBuffer類的常用方法方法含義StringBufferappend(Stringstr)將指定的字符串追加到此字符序列StringBufferappend(intnum)將int參數(shù)的字符串表示形式追加到此序列StringBufferappend(Objecto)追加Object參數(shù)的字符串表示形式StringBufferinsert(intindex,Stringstr)將字符串插入此字符序列中StringBufferinsert(intindex,charch)將字符插入此字符序列中StringBufferinsert(intindex,Objecto)將Object參數(shù)的字符串表示形式插入此字符序列中StringBuilder類StringBuilder類StringBuilder類是一個(gè)可變的字符序列。JDK自從5.0版本后引入。StringBuilder類被設(shè)計(jì)用作StringBuffer的一個(gè)簡(jiǎn)易替換,用在字符串緩沖區(qū)被單個(gè)線程使用的時(shí)候。StringBuilder類StringBuilder對(duì)象的創(chuàng)建構(gòu)造一個(gè)不帶任何字符的字符串生成器,其初始容量為16個(gè)字符。構(gòu)造一個(gè)不帶任何字符的字符串生成器,其初始容量由capacity參數(shù)指定。構(gòu)造一個(gè)字符串生成器,并初始化為指定的字符串內(nèi)容
StringBuilder
變量名=newStringBuilder();
StringBuilder
變量名=newStringBuilder(intcapacity
);
StringBuilder
變量名=newStringBuilder(Stringstr);示例:TestStringBuilder.javaStringBuilder類StringBuilder類的常用方法示例
TestStringBuilder.java方法含義intcapacity()返回當(dāng)前容量intlength()返回長(zhǎng)度(字符數(shù))StringBuilderreverse()將此字符序列用其反轉(zhuǎn)形式取代voidsetCharAt(intindex,charch)將給定索引index處的字符設(shè)置為chvoiddelete(intbegin,intend)移除此序列的子字符串中的字符charcharAt(intindex)返回此序列中指定索引處的char值StringtoString()將StringBuilder對(duì)象轉(zhuǎn)換成相應(yīng)的StringStringBuilder類方法含義StringBuilderappend(Stringstr)將指定的字符串追加到此字符序列StringBuilderappend(intnum)將int參數(shù)的字符串表示形式追加到此序列StringBuilderappend(Objecto)追加Object參數(shù)的字符串表示形式StringBuilderinsert(intindex,Stringstr)將字符串插入此字符序列中StringBuilderinsert(intindex,charch)將字符插入此字符序列中StringBuilderinsert(intindex,Objecto)將Object參數(shù)的字符串表示形式插入此字符序列中StringBuilder類的常用方法String類與StringBuffer類的比較StringBuffer類與StringBuilder類的異同Java中定義了String與StringBuffer兩個(gè)類來封裝對(duì)字符串的各種操作
String類與StringBuffer類都被放到了java.lang包中兩者的主要區(qū)別在于String類對(duì)象中的內(nèi)容初始化不可以改變StringBuffer類對(duì)象中的內(nèi)容可以改變StringBuffer與StringBuilderStringBuffer類與StringBuilder類的異同StringBuffer和StringBuilder都是長(zhǎng)度可變的字符串。兩者的操作基本相同。兩者的主要區(qū)別在于StringBuffer類是線程安全的;StringBuilder類是線程不安全的。StringBuffer在JDK1.0中就有,而StringBuilder是在JDK5.0后才出現(xiàn)的。StringBuilder的一些方法實(shí)現(xiàn)要比StringBuffer快些。綜合練習(xí)1.編寫一個(gè)程序,實(shí)現(xiàn)從命令行參數(shù)輸入一字符串,統(tǒng)計(jì)該字符串中字符“e”出現(xiàn)的次數(shù)。2.有一個(gè)字符串,其中包含中文字符、英文字符和數(shù)字字符,請(qǐng)統(tǒng)計(jì)和打印出各個(gè)字符的個(gè)數(shù)。(在Java中,中文字符轉(zhuǎn)換為整型數(shù)值的范圍在[19968,40623)區(qū)間內(nèi))3.有一種數(shù)叫回文數(shù),正讀和反讀都一樣,如12321便是一個(gè)回文數(shù)。編寫一個(gè)程序,從命令行得到一個(gè)整數(shù),判斷該數(shù)是不是回文數(shù)4.教材P98例5.28JavaAPI1Object類2包裝類3字符串類4Math類5日期類型6ContentsMath類Math類Math類提供了大量用于數(shù)學(xué)運(yùn)算的方法Math類是final類,因此不能從Math類繼承Math類中的方法都是static方法,因此不必創(chuàng)建Math類的對(duì)象就可以直接使用該類的方法Math類中的常量publicstaticfinaldoublePIpublicstaticfinaldoubleEMath類Math類中的常用方法方法含義staticintabs(int)返回參數(shù)的絕對(duì)值,返回值類型與參數(shù)類型相同staticdoubleabs(double)返回參數(shù)的絕對(duì)值staticdoubleceil(double)返回大于所給參數(shù)的最小的整數(shù)值staticdoublefloor(double)返回不大于所給參數(shù)的最大的整數(shù)值staticintmax(inta,intb)返回兩個(gè)int值中較大的一個(gè)staticdoublemax(double,double)返回兩個(gè)double值中較大的一個(gè)staticintmin(inta,intb)返回兩個(gè)int值中較小的一個(gè)staticdoublemin(double,double)返回兩個(gè)double值中較小的一個(gè)Math類Math類中的常用方法方法含義staticdoublerandom()返回在0.0~1.0之間的隨機(jī)的double值staticintround(double)返回同所給值最接近的整數(shù),采用4舍5入法staticdoublesin/cos/tan(double)返回給定的弧度值對(duì)應(yīng)的三角函數(shù)值staticdoublesqrt(double)返回所給值的平方根,若所給值為負(fù)數(shù)則返回NaNRandom類Random類Random類常用方法doublenextDouble()返回下一個(gè)偽隨機(jī)數(shù),在0.0和1.0之間均勻分布的double值intnextInt(intn)返回下一個(gè)偽隨機(jī)數(shù),在[0,n)之間的int值Random():創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器。Random(longseed):使用單個(gè)long種子創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器綜合練習(xí)1.生成十個(gè)0~100之間的隨機(jī)數(shù),放到數(shù)組中,然后分別對(duì)數(shù)組進(jìn)行冒泡排序和直接選擇排序輸出。JavaAPI1Object類2包裝類3字符串類4Math類5日期類型6ContentsDate類Date類java.util.Date。Date類表示指定的時(shí)間信息,可以精確到毫秒。不支持國(guó)際化。該類的許多方法已過時(shí)。獲取當(dāng)前系統(tǒng)時(shí)間:示例:TestDate.java
newDate()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024地下車位出租合同范本
- 2024年城市供水管道建設(shè)分包合同
- 2024年城鄉(xiāng)適用:個(gè)人汽車短期租賃協(xié)議
- 2024政府委托代建合同政府委托代建合同樣本
- 2024工程施工合同無效但建設(shè)工程質(zhì)量合格如何處理工程
- 2024年住宅裝潢工程合同
- 2024年小微企業(yè)勞動(dòng)合同標(biāo)準(zhǔn)格式
- 2024年塑料回收利用合同
- 2024融資合同資產(chǎn)置換協(xié)議書
- 2024房地產(chǎn)合同陜西省房屋拆遷貨幣補(bǔ)償協(xié)議
- 分布式光伏發(fā)電項(xiàng)目EPC總承包合同
- 人教版五年級(jí)數(shù)學(xué)上冊(cè)教材分析、教學(xué)計(jì)劃及進(jìn)度表
- 塌方(坍塌)事故現(xiàn)場(chǎng)應(yīng)急處置方案(表格化)
- 機(jī)電專業(yè)例會(huì)會(huì)議記錄
- CPK計(jì)算表格EXCEL模板
- 小學(xué)生寫字比賽專用紙標(biāo)準(zhǔn)田字格模板打印版
- (完整版)食品加工廠可行性研究報(bào)告
- SQE工作手冊(cè)范本
- 酶工程習(xí)題答案
- 肺脹病(慢性阻塞性肺疾病)中醫(yī)臨床路徑
- 基坑蓋挖逆作法及主體結(jié)構(gòu)施工方案
評(píng)論
0/150
提交評(píng)論