字符串和正則表達(dá)式第7章實用類(自學(xué)).ppt_第1頁
字符串和正則表達(dá)式第7章實用類(自學(xué)).ppt_第2頁
字符串和正則表達(dá)式第7章實用類(自學(xué)).ppt_第3頁
字符串和正則表達(dá)式第7章實用類(自學(xué)).ppt_第4頁
字符串和正則表達(dá)式第7章實用類(自學(xué)).ppt_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java 語言程序設(shè)計,天津理工大學(xué) 計算機與通信工程學(xué)院 主講教師:孫世溫 ,2019/7/19,第6章 第7章 Java中的常用類,第 2 頁,第6章 字符串和正則表達(dá)式 第7章 常用實用類,2019/7/19,第6章 第7章 Java中的常用類,第 3 頁,主要內(nèi)容,Object 類 System 類 Math 類 基本數(shù)據(jù)類型的包裹類 BigInteger 類 字符串相關(guān)類 String 類 StringBuffer 類 StringTokenizer 類 Date 類 Calender 類 正則匹配表達(dá)式,2019/7/19,第6章 第7章 Java中的常用類,第 4 頁,Object 類“根”類,Object類定義在java.lang包中 所有的Java類派生自O(shè)bject類 如果一個類沒有用extends繼承其他類,則它繼承Object Object類是所有類層次結(jié)構(gòu)的終極根類 Object包含一些有用的方法,這些方法被所有子類繼承,2019/7/19,第6章 第7章 Java中的常用類,第 5 頁,Object 類“根”類,Object類定義的方法之一:toString Object類的toString方法被定義返回一個字符串,包含對象的類名和對象的地址值 自定義的類重寫toString方法,實質(zhì)是覆蓋了父類的toString方法 用println方法輸出一個對象時,默認(rèn)調(diào)用toString方法;如果自定義了toString方法,就調(diào)用自定義的;如果沒有自定義,就調(diào)用繼承來的toString方法,【例 toString的例子】,2019/7/19,第6章 第7章 Java中的常用類,第 6 頁,Object 類“根”類,Object類定義的方法之二:equals Object類的equals方法確定兩個引用變量是否是別名,與= =的用法相同(is identical to) 子類一般通過覆蓋Object的equals方法實現(xiàn)更有意義的測試,可以實現(xiàn):若同一類型的兩個不同對象包含相同的信息即返回true(is equals to) 很多Java標(biāo)準(zhǔn)類都重新定義了自己的equals方法,實現(xiàn)兩個對象的相等性比較,【例 TestEquals.java】,2019/7/19,第6章 第7章 Java中的常用類,第 7 頁,System類,有三個標(biāo)準(zhǔn)I/O對象,又叫控制臺I/O 標(biāo)準(zhǔn)輸入(鍵盤) 由System.in定義 標(biāo)準(zhǔn)輸出(顯示器)由System.out定義 標(biāo)準(zhǔn)錯誤輸出(顯示器)由System.err定義 當(dāng)執(zhí)行print或println語句時,我們使用System.out對象 System.in是InputStream類的對象 用System.in.read( )從鍵盤讀入一個字符,2019/7/19,第6章 第7章 Java中的常用類,第 8 頁,基本數(shù)據(jù)類型的包裹類,Java的每種基本類型(8種)都有一個類與之對應(yīng),2019/7/19,第6章 第7章 Java中的常用類,第 9 頁,包裹類使用示例,Boolean wrapBool = new Boolean(“false“); Integer num1 = new Integer (“31“); Integer num2 = new Integer(“3“); int sum = Value() * Value();,intValue() 返回調(diào)用對 象的整型值,class CmdArg public static void main(String args) int sum = 0; for(int cnt = 0; cnt args.length; cnt+) sum+=Integer.parseInt(argscnt); System.out.println(“和為:“+sum); ,parseInt()方法將執(zhí)行 從字符串轉(zhuǎn)換成與之相 應(yīng)的整型(int)值,2019/7/19,第6章 第7章 Java中的常用類,第 10 頁,Math類科學(xué)計算類,Math類定義在java.lang包中 其中包含許多數(shù)學(xué)計算方法: public static long abs(double a) 返回a的絕對值。 public static double max(double a,double b) 返回a、 b的最大值。 public static double min(double a,double b) 返回a、b的最小值。,2019/7/19,第6章 第7章 Java中的常用類,第 11 頁,public static double random() 產(chǎn)生一個0到1之間的隨機數(shù)(不包括0和1)。 public static double pow(double a,double b) 返回a的b次冪。 public static double sqrt(double a) 返回a平方根。 public static double log(double a) 返回a的對數(shù)。 public static double sin(double a) 返回正弦值。 public static double asin(double a) 返回反正弦。 ,2019/7/19,第6章 第7章 Java中的常用類,第 12 頁,NumberFormat類數(shù)字的格式化輸出,NumberFormat類類調(diào)用類方法: public static final NumberFormat getInstance()實例化一個NumberFormat對象 該對象調(diào)用 public final String format(double number) 方法可以格式化數(shù)字number NumberFormat類有如下常用方法: void setMaximumFractionDigits(int newValue) void setMinimumFractionDigits(int newValue) void setMaximumIntegerDigits(int newValue) void setMinimumIntegerDigits(int newValue),【例7-4】,2019/7/19,第6章 第7章 Java中的常用類,第 13 頁,BigInteger類大整數(shù)類,java.math包中的BigInteger類提供任意精度的整數(shù)運算 構(gòu)造方法: public BigInteger(String val) 類的常用方法: public BigInteger add(BigInteger val) public BigInteger subtract(BigInteger val) public BigInteger multiply(BigInteger val) public BigInteger divide(BigInteger val),2019/7/19,第6章 第7章 Java中的常用類,第 14 頁,public BigInteger remainder(BigInteger val) public int compareTo(BigInteger val) public BigInteger abs() public BigInteger pow(int exponent) public String toString() 返回當(dāng)前大整數(shù)對象 十進(jìn)制的字符串表示 public String toString(int p) 返回當(dāng)前大整數(shù)對象p進(jìn)制的字符串表示,【例7-6】,2019/7/19,第6章 第7章 Java中的常用類,第 15 頁,String類不可變字符串,構(gòu)建String對象 String s=new String(“I love Java”) String s1=“I love Java”; String s2=new String(s); char Ar=J, a, v, a; String s3=new String(Ar); String s4=new String(Ar,2,2);,構(gòu)造函數(shù)String(char a,int startIndex,int count): 提取字符數(shù)組a 中的一部分字符創(chuàng)建一個字符串對象, 參數(shù)startIndex:在a中提取字符的起始位置 count: 從指定位置開始截取的字符個數(shù),2019/7/19,第6章 第7章 Java中的常用類,第 16 頁,String類中的常用方法: (1)返回長度:public int length() (2)比較: public boolean equals(String s) 比較當(dāng)前字符串對象的實體是否與參數(shù)指定的字符串s的實體相同 public int compareTo(String s)按字典序與參數(shù)s指定的字符串比較大小。 (3)判斷 public boolean startsWith(String s) public boolean endsWith(String s),2019/7/19,第6章 第7章 Java中的常用類,第 17 頁,(4)檢索 public int indexOf (String s) public int indexOf(String s ,int startpoint) public int lastIndexOf (String s) (5)子串 public String substring(int startpoint) public String substring(int start ,int end) public String trim() (6)替換 public String replaceAll(String old ,String new),2019/7/19,第6章 第7章 Java中的常用類,第 18 頁,字符串 基本數(shù)據(jù) 基本數(shù)據(jù)類型包裹類中方法: public static XXX parseXXX(String s) 將“數(shù)字”格式的字符串,轉(zhuǎn)化為相應(yīng)的基本數(shù)據(jù)類型 如:Integer類的方法: public static int parseInt(String s),2019/7/19,第6章 第7章 Java中的常用類,第 19 頁,基本數(shù)據(jù) 字符串 使用String 類的下列類方法: public String valueOf(byte n) public String valueOf(int n) public String valueOf(long n) public String valueOf(float n) public String valueOf(double n) 對象的字符串表示 重寫toString()方法,2019/7/19,第6章 第7章 Java中的常用類,第 20 頁,String與字符數(shù)組(char ) 利用字符數(shù)組構(gòu)建字符串 String(char ) String(char ,int offset,int length) 將字符串存放到字符數(shù)組中 public void getChars (int start,int end,char c ,int offset ) public char toCharArray(),【例6-4】,2019/7/19,第6章 第7章 Java中的常用類,第 21 頁,String與字節(jié)數(shù)組(byte ) 利用字節(jié)數(shù)組構(gòu)建字符串 String(byte ) String(byte ,int offset,int length) 字符串轉(zhuǎn)化為字節(jié)數(shù)組 public byte getBytes(),【例6-5】,2019/7/19,第6章 第7章 Java中的常用類,第 22 頁,StringBuffer類可變字符串,String類字符串不能修改、刪除或替換字符串中的某個字符 StringBuffer類能創(chuàng)建可修改的字符串序列 StringBuffer類有三個構(gòu)造方法: (1)StringBuffer() (2)StringBuffer(int size) (3)StringBuffer(String s),2019/7/19,第6章 第7章 Java中的常用類,第 23 頁,StringBuffer類的常用方法: (1)append方法 (2)char charAt(int n) (3)void setCharAt (int n , char ch) (4)StringBuffer insert(int index, String str) (5)StringBuffer reverse() (6)StringBuffer delete(int startIndex, int endIndex) (7)StringBuffer replace( int startIndex ,int endIndex, String str),【例6-6】,2019/7/19,第6章 第7章 Java中的常用類,第 24 頁,StringTokenizer類字符串分解,使用java.util包中的StringTokenizer類將字符串分解成可被獨立使用的單詞 StringTokenizer類的構(gòu)造方法 StringTokenizer(String s) 為字符串s構(gòu)造一個分析器。使用默認(rèn)的分隔符集合,即空格符(若干個空格被看做一個空格)、換行符、回車符、Tab符、進(jìn)紙符。 StringTokenizer(String s, String delim) 為字符串s構(gòu)造一個分析器,參數(shù)dilim中的字符被作為分隔符。,【例6-7】,2019/7/19,第6章 第7章 Java中的常用類,第 25 頁,Date類時間、日期,Date類構(gòu)造方法 無參Date()創(chuàng)建的對象可以獲取本地當(dāng)前時間 Date(long time)創(chuàng)建的Date對象表 示相對1970年1月1日0點(GMT)的時間 System類currentTimeMillis()獲取系統(tǒng)當(dāng)前時間,這個時間是從1970年1月1日0點(GMT)到目前時刻所走過的毫秒數(shù),2019/7/19,第6章 第7章 Java中的常用類,第 26 頁,使用DateFormat的子類SimpleDateFormat來實現(xiàn)日期的格式化 SimpleDateFormat有一個常用構(gòu)造方法:public SimpleDateFormat(String pattern)該構(gòu)造方法可以用參數(shù)pattern指定的格式創(chuàng)建一個對 象 SimpleDateFormat類的對象調(diào)用 format(Date date)方法格式化時間對象date,2019/7/19,第6章 第7章 Java中的常用類,第 27 頁,pattern中含有“時間元字符”,即要輸出的日期的格式設(shè)定 y或yy 表示用2位數(shù)字輸出年份; yyyy 表示用4位數(shù)字輸出年份; M或MM 表示用2為數(shù)字或文本輸出月份; d 或dd 表示用2位數(shù)字輸出日; H或HH 表示用兩位數(shù)字輸出小時; m或mm 表示用兩位數(shù)字輸出分; s或ss 表示用兩位數(shù)字輸出秒; E 表示用字符串輸出星期;,【例7-1】,2019/7/19,第6章 第7章 Java中的常用類,第 28 頁,Calender類日歷,使用Calendar類的static方法getInstance()可以初始化一個日歷對象,如: Calendar calendar= Calendar.getInstance(); calendar對象可以調(diào)用方法: public final void set(int year,int month,int date) public final void set(int year,int month,int date,int hour,int minute) public final void set(int year,int month, int date, int hour, int minute,int second) public int get(int field) 可以獲取有關(guān)年份、月份、小時、星期等信息,【例7-2】,【例7-3】,2019/7/19,第6章 第7章 Java中的常用類,第 29 頁,正則表達(dá)式之 Backus-Naur范式(BNF),元符號:BNF規(guī)定了一些符號作為描述語法的機制,稱作元符號,包括: := 表示“定義為”。 | 表示“或者”。 表示“任選”,即方括號內(nèi)的內(nèi)容可以出現(xiàn)一次或不出現(xiàn)。 表示“重復(fù)”,即花括號內(nèi)的內(nèi)容可以出現(xiàn)零次或任意多次。 終結(jié)符號:BNF中不必定義的符號或字符串,如A、B、0、1等,2019/7/19,第6章 第7章 Java中的常用類,第 30 頁,非終結(jié)符號:在用法規(guī)則中需要加以定義的語法變量,如字母、數(shù)字、標(biāo)識符 a_06 , list 等 每一個非終結(jié)符號都必須有一個規(guī)則定義它,非終結(jié)符號按規(guī)則總是可以展開為一串終結(jié)符號。,正則表達(dá)式之 Backus-Naur范式(BNF),2019/7/19,第6章 第7章 Java中的常用類,第 31 頁,例:標(biāo)識符的BNF描述。 標(biāo)識符 := 字母 字母 | 數(shù)字 字母 := A | B | | Z | a | b | | z | _ 數(shù)字 := 0 | 1 | | 9,正則表達(dá)式之 Backus-Naur范式(BNF),2019/7/19,第6章 第7章 Java中的常用類,第 32 頁,正則表達(dá)式與模式匹配,1正則表達(dá)式 一個正則表達(dá)式是含有一些具有特殊意義字符的字符串,這些特殊字符稱作正則表達(dá)式中的元字符。 “dok”中的d就是有特殊意義的元字符,代表0到9中的任何一個。 一個正則表達(dá)式也稱作一個模式. 字符串“9ok”和“1ok”都是和模式:“dok”匹配的字符串之一。 和一個模式匹配的字符串稱作匹配模式字符串,也稱作模式匹配字符串。,2019/7/19,第6章 第7章 Java中的常用類,第 33 頁,正則表達(dá)式與模式匹配,2模式匹配 模式匹配就是檢索和指定模式匹配的字符串。 Java提供了專門用來進(jìn)行模式匹配的類,這些類在java.util.regex包中。,2019/7/19,第6章 第7章 Java中的常用類,第 34 頁,(1)建立模式對象 進(jìn)行模式匹配的第一步就是使用Pattern類創(chuàng)建一個對象,稱作模式對象。 Pattern類調(diào)用類方法compile(String patter)來完成這一任務(wù),其中的參數(shù)patter是一個正則表達(dá)式,稱作模式對象使用的模式。 【例】我們使用正則表達(dá)式“Ad”建立一個模式對象p: Pattern p= Ppile(“Ad“); 如果參數(shù)patter指定的正則表達(dá)式有錯,complie方法將拋出異常:PatternSyntaxException。,2019/7/19,第6章 第7章 Java中的常用類,第 35 頁,Pattern類也可以調(diào)用類方法compile(String regex, int flags)返回一個Pattern對象。 參數(shù)flags可以取下列有效值: Pattern .CASE_INSENSITIVE Pattern.MULTILINE Pattern.DOTALL Pattern.UNICODE_CASE Pattern.CANON_EQ flags取值Pattern .CASE_INSENSITIVE,模式匹配時將忽略大小寫。,2019/7/19,第6章 第7章 Java中的常用類,第 36 頁,(2)建立匹配對象 模式對象p調(diào)用matcher(CharSequence input)方法返回一個Matcher對象m,稱作匹配對象。 參數(shù)input可以是任何一個實現(xiàn)了CharSequence接口的類創(chuàng)建的對象。 String類和StringBuffer類都使用了CharSequence接口。,2019/7/19,第6章 第7章 Java中的常用類,第 37 頁,public boolean find( ) 尋找input和patter匹配的下一子序列 public boolean matches( ) 判斷input是否完全和patter匹配。 public boolean lookingAt( ) 判斷從input的開始位置是否有和patter匹配的子序列。,一個Matcher對象m可以使用下列3個方法尋找參數(shù)input指定的字符序列中是否有和模式patter匹配的子序列(patter是創(chuàng)建模式對象p時使用的正則表達(dá)式)。,2019/7/19,第6章 第7章 Java中的常用類,第 38 頁,Matcher對象m常用的方法: public boolean find(int start) 判斷input從參數(shù)start指定位置開始是否有和patter匹配的子序列,參數(shù)start取值0時,該方法和lookingAt( )的功能相同。 public String replaceAll(String replacement) Matcher對象m調(diào)用該方法可以返回一個字符串對象,該字符串是通過把input中與模式patter匹配的子字符串全部替換為參數(shù)replacement指定的字符串得到的(注意,input本身沒有發(fā)生變化)。 public String replaceFirst(String replacement) Matcher對象m調(diào)用該方法可以返回一個字符串對象,該字符串是通過把input中第1個與模式patter匹配的子字符串替換為參數(shù)replacement指定的字符串得到的(注意,input本身沒有發(fā)生變化)。,【例6-8】,2019/7/19,第6章 第7章 Java中的常用類,第 39 頁,元字符模式,在正則表達(dá)式(模式)中可以使用一對中括號括起若干個字符,代表中括號中的任何一個字符。 【例】pattern=“159ABC” “1ABC” 、“5ABC”和“9ABC”都是和模式pattern匹配

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論