




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、松迪科技(北京)有限公司,Java技術(shù)基礎(chǔ),常用類,松迪科技(北京)有限公司,提綱,基本類型包裝類 數(shù)學(xué)運(yùn)算類 字符串及其處理類 日期類 系統(tǒng)類,松迪科技(北京)有限公司,基本類型包裝類,java.lang.Number java.lang.Byte byte java.lang.Short short java.lang.Integer int java.lang.Long long java.lang.Float float java.lang.Double double java.lang.Boolean boolean java.lang.Character char,松迪科技(北京)
2、有限公司,基本類型包裝類,數(shù)值類型的包裝類有一個(gè)統(tǒng)一的父類java.lang.Number 數(shù)值類型的包裝類均有表示該數(shù)據(jù)類型存儲(chǔ)范圍的屬性 布爾類型的包裝類則包含了TRUE和FALSE兩種可能值的屬性 字符類型包裝類的屬性中包含了一些常用字符,松迪科技(北京)有限公司,基本類型包裝類,包裝類一般包括以下一些類型的方法 均包括valueOf方法,此方法對于以下數(shù)據(jù)緩存: boolean的true、false 數(shù)值類型中,在-128127之間;但浮點(diǎn)類型不緩存 char類型中,小于127的ASCII編碼 使用valueOf,比直接new的性能要好 均包括一個(gè)將包裝類的值轉(zhuǎn)換為基本數(shù)據(jù)類型的方法,
3、例如Integer i = new Integer(1);Value() ; 除Character以外,均有相應(yīng)的解析方法,并且均為靜態(tài),例如Integer.parseInt(String s),松迪科技(北京)有限公司,基本類型包裝類,包裝類的自動(dòng)拆裝 可以使用基本數(shù)據(jù)類型為包裝類賦值,反向亦可:Integer i = 100;int j = new Integer(20); 可以使用包裝類參加基本數(shù)據(jù)類型的運(yùn)算:Integer a = 10, b = 20;int c = a+b; 可以做為參數(shù)向函數(shù)傳遞,而不管參數(shù)類型是基本數(shù)據(jù)類型還是包裝類型 在switch語句中使用,松迪科
4、技(北京)有限公司,基本類型包裝類,自動(dòng)拆裝前后引用的比較 如果包裝值為true、false或者是byte類型或者是ASCII中定義的小于127的字符或者是值范圍在-128127之間的short、int、long在進(jìn)行引用比較是相同的 除了以上,引用比較均為假 練習(xí): Integer i1 = 200, i2 = 200;System.out.println(i1=i2); Character c1 = 中, c2 = 中;System.out.println(c1=c2);,松迪科技(北京)有限公司,基本類型包裝類,自動(dòng)拆裝對方法重載的影響 即當(dāng)出現(xiàn)兩個(gè)方法test(Integer i)te
5、st(int i)若test(12)會(huì)如何調(diào)用? 若只有test(Integer i),調(diào)用test(12)在1.4和1.5中會(huì)分別有什么反應(yīng)? 關(guān)于null 若有Integer i = null;int j = i;則A、無法通過編譯B、運(yùn)行時(shí)異常C、正常運(yùn)行,且j的為0,松迪科技(北京)有限公司,數(shù)學(xué)運(yùn)算類,java.lang.Math java.util.Random java.math.BigDecimal java.math.BigInteger,松迪科技(北京)有限公司,Math類,數(shù)學(xué)運(yùn)算 基本運(yùn)算:abs log exp log10 sqrt cbrt 角度運(yùn)算:正弦、余弦、正
6、切、余切 反正弦、反余弦、反正切、反余切 java.lang.Math與java.lang.StrictMath區(qū)別 Math在運(yùn)算速度上比StrictMath快 StrictMath能保證在不同平臺(tái)上得到的結(jié)果是相同的,精確度也高 因此,在性能相對于精確度更重要的情況下選擇使用Math,反之則應(yīng)使用StrictMath,松迪科技(北京)有限公司,Random類,Random專注于隨機(jī)數(shù)的生成,可以生成整型、浮點(diǎn)類型、布爾類型的隨機(jī)數(shù) Random生成的隨機(jī)數(shù)是偽隨機(jī)數(shù),是由隨機(jī)數(shù)種子依據(jù)一定的算法生成的。計(jì)算機(jī)無法生成真正的隨機(jī)數(shù)。 Math.random也可以生成偽隨機(jī)數(shù),但其值是介于01
7、之間的double類型數(shù),可以等于0但不能等于1。,松迪科技(北京)有限公司,大整數(shù),基本數(shù)據(jù)類型與包裝類所能表示的數(shù)值都是有限的,當(dāng)超出了這個(gè)范圍,數(shù)據(jù)應(yīng)該如何表示呢? java.lang.BigInteger可以用來表示任意大小的整型值 可以通過字符串形式或字節(jié)數(shù)組形式創(chuàng)建大整數(shù) 大整數(shù)在內(nèi)存中是以補(bǔ)碼形式表示數(shù)字 BigInteger的數(shù)學(xué)運(yùn)算可以通過其封裝的方法完成 add subtract multiply divide 與其它包裝類一樣,BigInteger也是常量,松迪科技(北京)有限公司,大數(shù)值,BigDecimal代表任意精度的任意數(shù)字,它囊括了BigInteger,又包含了
8、帶有小數(shù)位的數(shù)字 BigDecimal一般是通過字符串形式來創(chuàng)建,因包含有小數(shù)位,所以不能使用byte數(shù)組來創(chuàng)建 與BigInteger類似,BigDecimal是常量,可以通過其封裝的方法完成數(shù)學(xué)運(yùn)算,松迪科技(北京)有限公司,字符串及其處理類,String StringBuffer StringBuilder(JDK1.5) CharSequence java.util.regex.Pattern java.util.Scanner(JDK1.5),松迪科技(北京)有限公司,String,java.lang.String可以通過兩種方式創(chuàng)建,即 String s1 = new String
9、(“first string”); String s2 = “second string”; 字符串緩沖區(qū)問題 字符串是常量,其所代表的字符串是不可更改的,因此在String上進(jìn)行任何操作都不會(huì)改變String,這些方法一般會(huì)返回一個(gè)修改過的新字符串。,松迪科技(北京)有限公司,String,字符串常用方法 位置相關(guān):charAt indexOf lastIndexOf 求子字符串:substring 匹配:startWith endWith matches 更改:replace replaceAll replaceFirst split trim,松迪科技(北京)有限公司,StringBuf
10、fer與StringBuilder,Java對String的連接采用了“”的方式,但一般認(rèn)為這種連接方式在性能上是非常低的。 如果存在對字符串的大量運(yùn)行,應(yīng)該使用StringBuffer,通常認(rèn)為大量的字符連加運(yùn)算如果使用了StringBuffer的append方法,性能能夠得到10倍以上提升。 此外一些操作,如字符的插入和刪除也無法通過String完成 StringBuffer與StringBuilder的區(qū)別 前者線程安全的,后者不是線程安全的 因此,在非多線程環(huán)境下,使用StringBuilder可提升性能,松迪科技(北京)有限公司,CharSequence,CharSequence是代
11、表字符序列的接口,包括String/StringBuffer/StringBuilder在內(nèi)的與字符串相關(guān)的類均實(shí)現(xiàn)了這個(gè)接口。 一般應(yīng)用于與具體實(shí)現(xiàn)無關(guān)的方法參數(shù)中,松迪科技(北京)有限公司,正則表達(dá)式,Java中也可使用正則表達(dá)式,這是通過java.util.regex包實(shí)現(xiàn)的 Pattern Matcher Pattern代表正則表達(dá)式,其構(gòu)造函數(shù)不可見,故無法直接創(chuàng)建,可通過 Ppile Matcher是通過解釋Pattern對字符串執(zhí)行匹配的引擎,其構(gòu)造函數(shù)不可見,可通過 Pattern.matcher 思考一下,Matcher構(gòu)造函數(shù)的訪問權(quán)限應(yīng)該是什么? 注意,在String/S
12、tringBuffer/StringBuilder中,有許多對字符操作的方法是支持正則表達(dá)式的,立即查詢一下文檔,看看這些方法是什么。,松迪科技(北京)有限公司,Scanner,JDK1.5中增加了一個(gè)可以通過正則表達(dá)式來分析基本類型和字符串的簡單文本掃描器 。 Scanner可以從任意輸入流中加載字符串,然后根據(jù)分隔符將符合要求的數(shù)據(jù)讀取出來 hasNext系列方法 next系列方法 練習(xí): 通過命令行,以空格為分隔符,輸入一行數(shù)字,將它們讀取到一個(gè)數(shù)組中,松迪科技(北京)有限公司,命令行,如何從命令行讀參數(shù)? 練習(xí): 通過命令行參數(shù)實(shí)現(xiàn)由m到n的連加。 通過命令行參數(shù)實(shí)現(xiàn)mn,松迪科技(北
13、京)有限公司,日期,java.util.Date java.util.Calender java.text.DateFormat,松迪科技(北京)有限公司,日期,Java中的時(shí)間是以UTC時(shí)間表示的,即當(dāng)前時(shí)間與1970年1月1日0點(diǎn)之間相差的毫秒數(shù)。 負(fù)數(shù)代表早于1970年 正數(shù)代表晚于1970年 Date內(nèi)部正是以UTC時(shí)間的毫秒數(shù)來表示的由于Date在實(shí)現(xiàn)各時(shí)區(qū)間的協(xié)調(diào)上存在問題,Date中的大部分方法已經(jīng)被作廢,而使用Calendar取代 DateFormat用于在字符串日期與Java日期相互轉(zhuǎn)換,松迪科技(北京)有限公司,日期,練習(xí) 計(jì)算你到今天活了多少天 使用Calendar求今天
14、是幾月幾號(hào),松迪科技(北京)有限公司,系統(tǒng)類,System Runtime Process,松迪科技(北京)有限公司,System,System代表系統(tǒng),它封裝系統(tǒng)IO對象: System.in:標(biāo)準(zhǔn)輸入 System.out:標(biāo)準(zhǔn)輸出 System.error:錯(cuò)誤輸出 系統(tǒng)還封裝了一些非常有用的方法: 取系統(tǒng)屬性:getProperty getProperties getenv等 取系統(tǒng)時(shí)間:currentTimeMillis 數(shù)組復(fù)制:arraycopy 其它:System.exit() System.gc(),松迪科技(北京)有限公司,Runtime,Runtime代表Java程序的運(yùn)行時(shí),每個(gè)Java程序都對應(yīng)一個(gè)Runtime,Runtime不能直接創(chuàng)建,必須通過其工廠方法getRuntime才可創(chuàng)建。 Runtim
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微整顧客協(xié)議書
- 住宅裝修設(shè)計(jì)協(xié)議
- 文化創(chuàng)意產(chǎn)業(yè)內(nèi)容創(chuàng)新與市場推廣方案
- 商業(yè)房產(chǎn)交易居間合同范本
- 提升客戶滿意度服務(wù)質(zhì)量方案
- 提高客戶服務(wù)質(zhì)量與滿意度的實(shí)施方案
- 產(chǎn)品設(shè)計(jì)與生產(chǎn)制造委托協(xié)議
- 研發(fā)立項(xiàng)報(bào)告
- 農(nóng)業(yè)產(chǎn)業(yè)化項(xiàng)目成本控制作業(yè)指導(dǎo)書
- 中國醫(yī)療器械行業(yè)發(fā)展報(bào)告
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊+
- 2023年擬任縣處級(jí)領(lǐng)導(dǎo)干部任職資格考試測試題
- 歐盟ELV(汽車)指令課件
- 2023年無錫職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試筆試題庫及答案解析
- sp病種針推新針推頸椎病
- 消防水泵和穩(wěn)壓泵安裝檢驗(yàn)批質(zhì)量驗(yàn)收記錄
- 500kV變電站工程構(gòu)支架吊裝專項(xiàng)施工方案
- 2021年上海臨港外服人力資源有限公司招聘筆試試題及答案解析
- 生物安全柜及應(yīng)用課件
- 酒店游泳池系統(tǒng)維保合同
- 現(xiàn)代商業(yè)空間展示設(shè)計(jì)ppt
評(píng)論
0/150
提交評(píng)論