JavaSE-正則表達(dá)式、Object、包裝類2_第1頁
JavaSE-正則表達(dá)式、Object、包裝類2_第2頁
JavaSE-正則表達(dá)式、Object、包裝類2_第3頁
JavaSE-正則表達(dá)式、Object、包裝類2_第4頁
JavaSE-正則表達(dá)式、Object、包裝類2_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類-唐 霞JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類正則表達(dá)式簡介 實(shí)際開發(fā)中,經(jīng)常需要對字符串?dāng)?shù)據(jù)進(jìn)行一些復(fù)雜的匹配、查找、替換等操作。通過“正則表達(dá)式”,可以方便的實(shí)現(xiàn)字符串的復(fù)雜操作。正則表達(dá)式是一串特定字符,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”是描述文本規(guī)則的工具。正則表達(dá)式就是記錄文本規(guī)則的代碼。例如:-正則表達(dá)式:“a-z表示a到z的任意一個(gè)字符”-正則表達(dá)式:“a-z+”表示由1個(gè)或多個(gè)a-z字符組成的字符串JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類正則表達(dá)式簡介 JAVA 基礎(chǔ)課程-正則表達(dá)式、Obje

2、ct、包裝類正則表達(dá)式簡介 JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類正則表達(dá)式簡介 JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類正則表達(dá)式簡介 檢索郵政編碼:-規(guī)則為6位數(shù)字-第一種匹配規(guī)則 0-90-90-90-90-90-9-簡化第一種規(guī)則 dddddd-簡化第二種規(guī)則 d6JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類分組() 分組:()圓括號表示分組,可以將一系列正則表達(dá)式看做一個(gè)整體,分組時(shí)可以使用“|”表示“或”關(guān)系,例如:匹配手機(jī)號碼前面的區(qū)號:(+86|0086)?s*d11上述例子中,圓括號表示這里需要出現(xiàn)“+86”或者“0086”JAVA 基礎(chǔ)課程

3、-正則表達(dá)式、Object、包裝類分組() 檢索手機(jī)號碼:+8613511116666- +86 可有可無- +86與后面的號碼之間空格可以沒有或者有多個(gè)- 電話號碼為11位數(shù)字”JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類“”和“$” 邊界匹配 -代表字符串開始 -$代表字符串結(jié)束JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類matches方法 matches(正則表達(dá)式)方法:將一個(gè)字符串與正則表達(dá)式進(jìn)行匹配如果匹配成功就返回true,否則返回false;/* 測試email是否合法 */public void email() String emailRegEx =a-zA-

4、Z0-9_.-+(a-zA-Z0-9-+.)+a-zA-Z0-92,4$; String email =; System.out.println(email.matches(emailRegEx);JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類String正則API-split方法 String的split方法可以將字符串按照特定的分隔符拆分成字符串?dāng)?shù)組。數(shù)據(jù):“3,shengsi,3,33”拆分為:“3”,“shengsi”,“3”, “”,33拆分方式:str.split(“,s*);解釋:以逗號開頭,=0個(gè)的空格組合為分割JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Stri

5、ng正則API-split方法 /* 使用split方法拆分字符串 */public void testSplit() /按空格拆分 String str = java cpp php c# objective-c; String strArr = str.split(s); System.out.println(Arrays.toString(strArr); /按+、-、=符號拆分 String line =100-200-150=150; strArr = line.split(+-=); System.out.println(Arrays.toString(strArr);JAVA 基

6、礎(chǔ)課程-正則表達(dá)式、Object、包裝類String正則API-replaceAll方法 String提供了用于字符串替換的方法:JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類String正則API-replaceAll方法 /* 使用replaceAll方法實(shí)現(xiàn)字符串替換 */public void testReplaceAll() /將str中的所有數(shù)字替換為“數(shù)字”二字 String str = abc123bcd45ef6g7890; str = str.replaceAll(d+,數(shù)字); System.out.println(str);JAVA 基礎(chǔ)課程-正則表達(dá)式、Obje

7、ct、包裝類Object 在Java類繼承結(jié)構(gòu)中,java.lang.Object類位于頂端;如果定義一個(gè)Java類時(shí)沒有使用extends關(guān)鍵字聲明其父類,則其父類默認(rèn)為java.lang.Object類;Object類型的引用變量可以指向任何類型對象。JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類如何重寫toString方法 Object類中的重要方法,用于返回對象值的字符串表示;原則上建議重寫,格式大多數(shù)遵循“類的名字域值”,例如:public String toString() return getClass().getName()+name=+name+,salary=+sal

8、ary+;JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類如何重寫toString方法 Java語言中很多地方會默認(rèn)調(diào)用對象的toString方法; -字符串+對象,自動調(diào)用對象的toString方法 -System.out.print(任意對象),直接調(diào)用toString方法如果不重寫toString方法,將使用Object的toString方法,其邏輯為: -類名散列碼toString方法是非常有用的調(diào)試工具;JDK中的標(biāo)準(zhǔn)類庫中,許多類都定義了toString方法,方便用戶獲得有關(guān)對象狀態(tài)的必要信息;強(qiáng)烈建議為自定義的每一個(gè)類增加toString方法。JAVA 基礎(chǔ)課程-正則表達(dá)式、

9、Object、包裝類String重寫toString方法 String的toString()方法就是將自身返回了。public String toString() return this;JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類equals方法 Object中的方法,作用在于檢測一個(gè)對象是否等于另外一個(gè)對象;在Object類中,這個(gè)方法判斷兩個(gè)對象是否具有相同的引用,即是否為相同的對象。在實(shí)際應(yīng)用中,一般需要重寫該方法,通過比較對象的成員屬性,使該方法更有意義,例如:對于Cell類,如果不重寫equals方法,下面代碼在cell1和cell2指向同一個(gè)對象時(shí)才為true,可以將其重

10、寫為:當(dāng)x和y坐標(biāo)相等時(shí)兩個(gè)對象即相等,這樣更有意義一些。 cell1.equals(cell2);JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類如何重寫equals方法 public boolean equals(Object obj) if(obj=null) return false; if(this=obj) return true; if(obj instanceof Cell) Cell = (Cell)obj; return cell.row = row & cell.col = col; else return false; JAVA 基礎(chǔ)課程-正則表達(dá)式、Obj

11、ect、包裝類String重寫equals方法 String的equals方法用于比較兩個(gè)字符串對象的字符序列是否相等。/* 測試字符串的比較 */public class Demo public static void main(String args) String s1 = new String(abc); String s2 = new String(abc); String s3 = new String(A); System.out.println(s1.equals(s2);/true System.out.println(s1.equals(s3);/false JAVA 基礎(chǔ)

12、課程-正則表達(dá)式、Object、包裝類equals和=的區(qū)別 =用于比較變量的值,可以用于任何類型,如果用于引用類型,比較的是兩個(gè)引用變量中存儲的值(地址信息),判斷兩個(gè)變量是否指向相同的對象;equals是Object的方法,重寫以后,可以用于比較兩個(gè)對象的內(nèi)容是否“相等”;需要注意的是,Object默認(rèn)的equals方法的比較規(guī)則同=JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類包裝類概述 在進(jìn)行類型轉(zhuǎn)換的范疇內(nèi),有一種特殊的轉(zhuǎn)換,需要將int這樣的基本數(shù)據(jù)類型轉(zhuǎn)換為對象;所有基本類型都有一個(gè)與之對應(yīng)的類,即包裝類(wrapper)JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類

13、包裝類概述 包裝類是不可變類,在構(gòu)造了包裝類對象后,不允許更改包裝在其中的值;包裝類是final的,不能定義他們的子類。JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Number及其主要方法 抽象類Number是Byte、Double、Float、Integer、Long和Short類的父類;Number的子類必須提供將表示的數(shù)值轉(zhuǎn)換為byte,double,float,int,long和short的方法: -doubleValue() 以double形式返回指定的數(shù)值 -intValue() 以int形式返回指定的數(shù)值 -floatValue() 以float形式返回指定的數(shù)值JAVA

14、 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Number及其主要方法 /* 測試Number的intValue方法和doubleValue方法 */public void testIntValueAndDoubleValue() Number d =123.45; Number n =123;/輸出d和n對象所屬的類型 System.out.println(d.getClass().getName();/java.lang.Doulbe System.out.println(n.getClass().getName();/java.lang.Integer int intValue = d.i

15、ntValue(); double doubleValue = d.doubleValue(); System.out.println(intValue+,+doubleValue);/123,123.45 intValue = Value(); doubleValue = n.doubleValue(); System.out.println(intValue+,+doubleValue);/123,123.0JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Integer常用功能 該類提供了多個(gè)方法,能在int類型和String類型之間互相轉(zhuǎn)換,還提供一些常量,例如:-stat

16、ic int MAX_VALUE 值為231 -1 常量,表示int類型能表示的最大值-static int MIN_VALUE 值為-231 常量,表示int類型能表示的最小值Integer a = 0 ;System.out.println(a.MAX_VALUE);/ 2147483647System.out.println(a.MIN_VALUE);/ -2147483648JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Integer常用功能 Integer的靜態(tài)方法parseInt用于將字符串轉(zhuǎn)換為int/* String轉(zhuǎn)換為int */public void testPar

17、seInt() String str =123; int value = Integer.parseInt(str); System.out.println(value);/123 str =壹佰貳拾叁; /會拋出NumberFormatException /value = Integer.parseInt(str); /如果字符串的格式不是整數(shù)形式,將無法轉(zhuǎn)換JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Double常用功能 在Double類的對象中包裝一個(gè)基本類型double的值構(gòu)造方法 -Double(double value) -Double(String s)方法 -doubl

18、e doubleValue()返回此Double對象的double值 -static double parseDouble(String s)返回一個(gè)新的double值,該值被初始化為用指定的String表示的值JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類Double常用功能 /* String轉(zhuǎn)換為double */public void testParseDouble() String str =12345.00; double value =Double.parseDouble(str); System.out.println(value);/12345.0 str =¥12345.00; /會拋出NumberFormatException /value = Double.parseDouble(str);JAVA 基礎(chǔ)課程-正則表達(dá)式、Object、包裝類自動裝箱和拆箱操作 從java5.0版本以后加入到了autoboxing功能自動“拆箱”和“裝箱”是依靠JDK5的編譯器在編譯器的“預(yù)處理”工作下列代碼寫法均為正確形式:Integer a =100;/裝箱Integer b =200;/裝箱Integer c = a+b;/拆箱再裝箱double d =c;/拆箱JAVA 基礎(chǔ)課程-正則表達(dá)式、Obje

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論