版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、JAVASE,java.lang中的常用類,本章學(xué)習(xí)目標(biāo),了解java.lang 包 掌握包裝類 掌握String和StringBuffer類 運(yùn)用類Math、Class和Object類,包裝類簡介,包裝類-1,int num = 10 ;,原始數(shù) 據(jù)類型,原始數(shù)據(jù)類型聲明的變量,對象,不是對象,是對象,怎么變 成對象,java.lang提供,原始數(shù)據(jù)類型,包裝類,包裝類-2,包裝類-3,public class LangDemo public static void main(String args) Boolean objBool = new Boolean(true); Characte
2、r objChar = new Character(X); Integer objInt = new Integer(100); Long objLong = new Long(2568); Double objDou = new Double(3.1415); System.out.println(objBool); System.out.println(objChar); System.out.println(objInt); System.out.println(objLong); System.out.println(objDou); 注:,包裝類的靜態(tài)方法 valueOf(),用于將
3、字符串轉(zhuǎn)成相應(yīng)包裝類的對象。,public class LangDemo public static void main(String args) String str = 128; /如果轉(zhuǎn)換失敗,將會(huì)引發(fā)NumberFormatException異常 /引發(fā)失敗的原因:1。數(shù)值超過范圍 2.字符串不是表示數(shù)值 Byte objByte = Byte.valueOf(str); Short objShort = Short.valueOf(str); Integer objInt = Integer.valueOf(str); Long objLong = Long.valueOf(str)
4、; System.out.println(objByte); System.out.println(objShort); System.out.println(objInt); System.out.println(objLong); ,注: 除了Boolean和Character 類以外,其他的包裝類都有靜態(tài)的parseXXX()方法。(XXX指代具體的數(shù)據(jù)類型),public class ParseTest public static void main(String args) String str = 116; int i = Integer.parseInt(str); short
5、s = Short.parseShort(str); byte b = Byte.parseByte(str); long l = Long.parseLong(str); float f = Float.parseFloat(str); double d = Double.parseDouble(str); System.out.println(i); System.out.println(s); System.out.println(b); System.out.println(l); System.out.println(f); System.out.println(d); ,范例演示,
6、包裝類-4,包裝類-5,public class CharacterDemo public static void main(String args) char charArray = *, 7, b, , A; for (int i = 0; i charArray.length; i+) if (Character.isDigit(charArrayi) System.out.println(charArrayi + 是一個(gè)數(shù)字。); if (Character.isLetter(charArrayi) System.out.println(charArrayi + 是一個(gè)字母。); if
7、 (Character.isWhitespace(charArrayi) System.out.println(charArrayi + 是一個(gè)空格。); if (Character.isLowerCase(charArrayi) System.out.println(charArrayi + 是小寫形式。); if (Character.isUpperCase(charArrayi) System.out.println(charArrayi + 是大寫形式。); ,范例演示,String類,String 類,字符串字面量,對象,未修改的原始字符串,使用 String 類的方法,可以更改字符
8、串版本,原始字符串保持不變,String類構(gòu)造方法,范例演示,public class StringDemo public static void main(String args) char aryChar = N, e, w, F,u,t,u,r,e; String str1 = NewFuture; /利用一個(gè)字符串常量值創(chuàng)建新的字符串 String str2 = new String(NewFuture); /利用一個(gè)字符型數(shù)組創(chuàng)建新的字符串 String str3 = new String(aryChar); System.out.println(str1); System.out.
9、println(str2); System.out.println(str3); ,Storage String pool String message = “stringLiteral;,Example: String message = new String(“Hello); String message = Welcome to Java;,Stringstr=newString(abc);,Question: How many String objects are created?,Two,Constructor: publicString(Stringoriginal) /other
10、code. ,Note:The parameter is a String object,Stringa= abc; String b= abc;,Difference between new and shorthand initializer,Question: How many String objects are created?,One,String類字符串長度,String str = “John Smith”,長度是?,使用length()方法獲取,哦,str的長度是“10”,public class StringDemo public static void main(Strin
11、g args) String str1 = John Smith; String str2 = new String(I Love Java); System.out.println(str1.length(); System.out.println(str2.length(); ,String類字符串比較1,字符串 1,字符串 2,由 equals() 方法確定,同一個(gè)對象,用 = 運(yùn)算符檢查,檢查字符串是否指向同一個(gè)或不同的對象,檢查組成字符串內(nèi)容的字符,public class StringDemo public static void main(String args) public
12、static void main(String args) String str1 = 學(xué)習(xí)新技術(shù)把握新未來; String str2 = 學(xué)習(xí)新技術(shù)把握新未來; String str3 = new String(學(xué)習(xí)新技術(shù)把握新未來); String str4 = new String(學(xué)習(xí)新技術(shù)把握新未來); if (str1 = str2) System.out.println(str1和str2指向同一字符串); else System.out.println(str1和str2分別指向不同字符串); if (str1.equals(str2) System.out.println(s
13、tr1和str2的內(nèi)容完全相同); else System.out.println(str1和str2的內(nèi)容不相同); if (str3 = str4) System.out.println(str3和str4指向同一字符串); else System.out.println(str3和str4分別指向不同字符串); if (str3.equals(str4) System.out.println(str3和str4的內(nèi)容完全相同); else System.out.println(str3和str4的內(nèi)容不相同); ,String類-字符串比較2,String類字符串搜索,public cl
14、ass StringDemo public static void main(String args) String strEmail = ; int index; System.out.println(E-mail地址: + strEmail); index = strEmail.indexOf(); System.out.println(字符出現(xiàn)的索引: + index); index = strEmail.indexOf(sun); System.out.println(字符串sun出現(xiàn)的索引: + index); index = strEmail.lastIndexOf(a); Sys
15、tem.out.println(a字符最后一次出現(xiàn)的索引: + index); ,String類字符串提取,public class StringDemo public static void main(String args) String str1 = Java is OOP; String str2 = new String(NewFuture); System.out.println(str1.charAt(2); System.out.println(str1.substring(5); System.out.println(str1.substring(2, 9); System.
16、out.println(str1.concat(str2); System.out.println(str1 + str2); System.out.println(str1.replace(a, e); System.out.println(str1.trim(); ,public String substring(int beginIndex) Returns a new string that is a substring of this string. The substring begins at the specified index and extends to the end
17、of this string. public String substring(int beginIndex, int endIndex) Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Parameters: the beginning index, inclusive. Returns: the specified subst
18、ring. Throws: StringIndexOutOfBoundsException if the beginIndex is out of range.,String s1 = Welcome to Java; String s2 = s1.substring(0, 11) + HTML;,String類更改字符串大小寫,public class StringDemo public static void main(String args) String str1 = Java is OOP; String str2; str2 = str1.toLowerCase(); System
19、.out.println(str2); str2 = str1.toUpperCase(); System.out.println(str2); ,StringBuffer類-1,StringBuffer類用于表示可以修改的字符串。 使用連接運(yùn)算符(+)與字符串一起使用自動(dòng)創(chuàng)建StringBuffer對象。,StringBuffer類-2,StringBuffer類-3,public class StringBufferDemo public static void main(String args) StringBuffer strBuf = new StringBuffer(Java);
20、strBuf.append( Guide Ver1/); System.out.println(strBuf); strBuf.append(3); System.out.println(strBuf); strBuf.insert(5, Student); System.out.println(strBuf); strBuf.setCharAt(20, .); System.out.println(strBuf); strBuf.reverse(); System.out.println(strBuf); String str = strBuf.toString(); System.out.
21、println(str); ,范例演示,不可變性-1,創(chuàng)建,String類,直接修改,StringBuffer類,與String同等的類,表示可增加和可編寫的字符序列,可以將字符插入到中間位置或?qū)⒆址郊拥侥┒?解決方案,The StringBuffer class is an alternative to the String class. In general, a string buffer can be used wherever a string is used.StringBuffer is more flexible than String. You can add, inser
22、t, or append new contentsinto a string buffer. However, the value ofa String object is fixed once the string is created.,StringBuffer類-1,不可變性-2,public class Immutablity public static void main(String args) String str1=Java; /創(chuàng)建一個(gè)String類的實(shí)例變量 String str2=str1; /保存一個(gè)引用副本 /創(chuàng)建一個(gè)StringBuffer類的實(shí)例變量 String
23、Buffer stringBuffer1=new StringBuffer(NewFuture); /保存一個(gè)StringBuffer對象引用副本 StringBuffer stringBuffer2=stringBuffer1; System.out.println (在改變之前:); System.out.println (str1=str2):+(str1=str2); System.out.println (stringBuffer1=stringBuffer2):+(stringBuffer1=stringBuffer2);/改變值 str1=str1+ is OOP; string
24、Buffer1=stringBuffer1.append(study Java); System.out.println (在改變之后:); System.out.println (str1=str2):+(str1=str2); System.out.println (str1=+str1); System.out.println (str2=+str2); System.out.println (stringBuffer1=stringBuffer2):+(stringBuffer1=stringBuffer2); System.out.println (stringBuffer1=+st
25、ringBuffer1); System.out.println (stringBuffer2=+stringBuffer2); ,范例演示,Math類,Math類,靜 態(tài) 方 法,基本數(shù)學(xué)運(yùn)算,幾何運(yùn)算,Math類方法,public class MathDemo /* 構(gòu)造方法 */ protected MathDemo() /* main 方法演示 Math 類的不同方法 * param args 傳遞至 main 方法的參數(shù) */ public static void main(String args) /* 此變量存儲(chǔ) num 的值*/ int num = 38; /* 該變量存儲(chǔ) n
26、um1 的值*/ float num1 = 65.7f; System.out.println(Math.ceil(num); System.out.println(Math.ceil(num1); System.out.println(Math.floor(num); System.out.println(Math.floor(num1); System.out.println(Math.round(num); System.out.println(Math.round(num1); ,范例演示,Object類-1,是其他所有類的共同父類。 用戶類沒有擴(kuò)展自其他類,默認(rèn)擴(kuò)展自O(shè)bject類。
27、,Object類-2,class Student private String mName; private int mAge; public Student(String name, int age) /構(gòu)造方法 mName = name; mAge = age; /重寫Object類中的toString方法 public String toString() String str = 姓名: + mName + , 年齡: + mAge + 歲; return (str); public class ToStringDemo public static void main(String ar
28、gs) Student std = new Student(張三, 18); System.out.println(std); /默認(rèn)調(diào)用toString方法 ,范例演示,自動(dòng)創(chuàng)建對象,Class類-1,無需聲明,Class對象,怎么創(chuàng)建呢?,通過對象的getClass()方法,使用Class的靜態(tài)方法forName(),Class類-2,范例演示,public class ClassDemo public static void main(String args) try /*使用forName方法獲得任意一個(gè)類的類描述對象 這里以StringBuffer類為例 forName方法有可能拋異常,必須捕捉*/ Class cls = Class.forName(java.lang.StringBuffer); /循環(huán)打印父類信息,直到?jīng)]有父類 while
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《磨床操作知識(shí)》課件
- 工業(yè)機(jī)器人模擬題含參考答案
- 養(yǎng)老院老人生活?yuàn)蕵坊顒?dòng)組織人員管理制度
- 養(yǎng)老院老人家屬溝通聯(lián)系制度
- 《離散PID控制器》課件
- 2024年水電工程綠化養(yǎng)護(hù)合同范本3篇
- 授權(quán)委托書保證協(xié)議書(2篇)
- 《人力資源考核手冊》課件
- 2025年齊齊哈爾貨運(yùn)從業(yè)資格仿真考題
- 2025年宣城道路貨運(yùn)駕駛員從業(yè)資格證考試題庫完整
- 室內(nèi)滑冰館建設(shè)工程項(xiàng)目實(shí)施建議書
- 烏干達(dá)NK項(xiàng)目一般填方路基施工方案
- 數(shù)學(xué)實(shí)驗(yàn) 平行四邊形的性質(zhì)
- 旋挖鉆孔灌注樁施工作業(yè)指導(dǎo)書
- 2020新譯林版高一英語新教材必修一全冊單詞表
- 六朝舊事荷塘新解
- NB/T 10742-2021智能化綜采工作面設(shè)計(jì)規(guī)范
- GB/T 5053.1-1985汽車與掛車之間24N型電連接器
- 國家開放大學(xué)《人力資源管理》期末試題及答案
- 2021年廣東省廣州市廣大附中九年級(jí)中考一模物理試題1
- 浙江省電力零售套餐指南(2023年版)、套餐表單
評(píng)論
0/150
提交評(píng)論