1. 程式人生 > >Java程式設計基礎15——正則表示式&常用工具類

Java程式設計基礎15——正則表示式&常用工具類

1_正則表示式的概述和簡單使用

  • A:正則表示式

    • 是指一個用來描述或者匹配一系列符合某個語法規則的字串的單個字串。其實就是一種規則。有自己特殊的應用。
    • 作用:比如註冊郵箱,郵箱有使用者名稱和密碼,一般會對其限制長度,這個限制長度的事情就是正則表示式做的
  • B:案例演示

    • 需求:校驗qq號碼.

      • 1:要求必須是5-15位數字
      • 2:0不能開頭
      • 3:必須都是數字
    • a:非正則表示式實現
    • b:正則表示式實現

2_字元類演示

  • A:字元類

    • [abc] a、b 或 c(簡單類)
    • 1 任何字元,除了 a、b 或 c(否定)
    • [a-zA-Z] a到 z 或 A到 Z,兩頭的字母包括在內(範圍)
    • [0-9] 0到9的字元都包括

3_預定義字元類演示

  • A:預定義字元類

    • . 任何字元。
    • d 數字:[0-9]
    • w 單詞字元:[a-zA-Z_0-9]

4_數量詞

  • A:Greedy 數量詞

    • X? X,一次或一次也沒有
    • X* X,零次或多次
    • X+ X,一次或多次
    • X{n} X,恰好 n 次
    • X{n,} X,至少 n 次
    • X{n,m} X,至少 n 次,但是不超過 m 次

5_正則表示式的分割功能

  • A:正則表示式的分割功能

    • String類的功能:public String[] split(String regex)
  • B:案例演示

    • 正則表示式的分割功能

6_把給定字串中的數字排序

  • A:案例演示

    • 需求:我有如下一個字串:”91 27 46 38 50”,請寫程式碼實現最終輸出結果是:”27 38 46 50 91”

7_正則表示式的替換功能

  • A:正則表示式的替換功能

    • String類的功能:public String replaceAll(String regex,String replacement)
  • B:案例演示

    • 正則表示式的替換功能

8_正則表示式的分組功能

  • A:正則表示式的分組功能

    • 捕獲組可以通過從左到右計算其開括號來編號。例如,在表示式 ((A)(B(C))) 中,存在四個這樣的組:
  • 1     ((A)(B(C))) 
    2     (A 
    3     (B(C)) 
    4     (C) 
    
    組零始終代表整個表示式。
  • B:案例演示a:切割

    需求:請按照疊詞切割: "sdqqfgkkkhjppppkl";

    b:替換

    需求:我我....我...我.要...要要...要學....學學..學.編..編編.編.程.程.程..程
    將字串還原成:“我要學程式設計”。

9_Pattern和Matcher的概述

  • A:Pattern和Matcher的概述
  • B:模式和匹配器的典型呼叫順序

    • 通過JDK提供的API,檢視Pattern類的說明
    • 典型的呼叫順序是
    • Pattern p = Pattern.compile("a*b");
    • Matcher m = p.matcher("aaaaab");
    • boolean b = m.matches();

10_正則表示式的獲取功能

  • A:正則表示式的獲取功能

    • Pattern和Matcher的結合使用
  • B:案例演示

    • 需求:把一個字串中的手機號碼獲取出來

11_Math類概述和方法使用

  • A:Math類概述

    • Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函式。
  • B:成員方法

    • public static int abs(int a)
    • public static double ceil(double a)
    • public static double floor(double a)
    • public static int max(int a,int b) min自學
    • public static double pow(double a,double b)
    • public static double random()
    • public static int round(float a) 引數為double的自學
    • public static double sqrt(double a)

12_Random類的概述和方法使用

  • A:Random類的概述

    • 此類用於產生隨機數如果用相同的種子建立兩個 Random 例項,
    • 則對每個例項進行相同的方法呼叫序列,它們將生成並返回相同的數字序列。
  • B:構造方法

    • public Random()
    • public Random(long seed)
  • C:成員方法

    • public int nextInt()
    • public int nextInt(int n)(重點掌握)

13_System類的概述和方法使用

  • A:System類的概述

    • System 類包含一些有用的類欄位和方法。它不能被例項化。
  • B:成員方法

    • public static void gc()
    • public static void exit(int status)
    • public static long currentTimeMillis()
    • pubiic static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
  • C:案例演示

    • System類的成員方法使用

14_BigInteger類的概述和方法使用

  • A:BigInteger的概述

    • 可以讓超過Integer範圍內的資料進行運算
  • B:構造方法

    • public BigInteger(String val)
  • C:成員方法

    • public BigInteger add(BigInteger val)
    • public BigInteger subtract(BigInteger val)
    • public BigInteger multiply(BigInteger val)
    • public BigInteger divide(BigInteger val)
    • public BigInteger[] divideAndRemainder(BigInteger val)

15_BigDecimal類的概述和方法使用

  • A:BigDecimal的概述

    • 由於在運算的時候,float型別和double很容易丟失精度,演示案例。
    • 所以,為了能精確的表示、計算浮點數,Java提供了BigDecimal
    • 不可變的、任意精度的有符號十進位制數。
  • B:構造方法

    • public BigDecimal(String val)
  • C:成員方法

    • public BigDecimal add(BigDecimal augend)
    • public BigDecimal subtract(BigDecimal subtrahend)
    • public BigDecimal multiply(BigDecimal multiplicand)
    • public BigDecimal divide(BigDecimal divisor)
  • D:案例演示

    • BigDecimal類的構造方法和成員方法使用

16_Date類的概述和方法使用*

  • A:Date類的概述

    • 類 Date 表示特定的瞬間,精確到毫秒。
  • B:構造方法

    • public Date()
    • public Date(long date)
  • C:成員方法

    • public long getTime()
    • public void setTime(long time)

17_SimpleDateFormat類實現日期和字串的相互轉換*

  • A:DateFormat類的概述

    • DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化並解析日期或時間。是抽象類,所以使用其子類SimpleDateFormat
  • B:SimpleDateFormat構造方法

    • public SimpleDateFormat()
    • public SimpleDateFormat(String pattern)
  • C:成員方法

    • public final String format(Date date)
    • public Date parse(String source)

18_你來到這個世界多少天案例*

  • A:案例演示

    • 需求:算一下你來到這個世界多少天?

19_Calendar類的概述和獲取日期的方法*

  • A:Calendar類的概述

    • Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日曆欄位之間的轉換提供了一些方法,併為操作日曆欄位(例如獲得下星期的日期)提供了一些方法。
  • B:成員方法

    • public static Calendar getInstance()
    • public int get(int field)

20_Calendar類的add()和set()方法*

  • A:成員方法

    • public void add(int field,int amount)
    • public final void set(int year,int month,int date)
  • B:案例演示

    • Calendar類的成員方法使用

21_如何獲取任意年份是平年還是閏年*

  • A:案例演示

    • 需求:鍵盤錄入任意一個年份,判斷該年是閏年還是平年
  1. abc