1. 程式人生 > >正則、Random、System、Date

正則、Random、System、Date

int round 格式化 表達 boolean gre 默認 邊界 統一

1:正則表達式(理解)
(1)就是符合一定規則的字符串
(2)常見規則
 A:字符
  x 字符 x。舉例:‘a‘表示字符a
  \\ 反斜線字符。
  \n 新行(換行)符 (‘\u000A‘)
  \r 回車符 (‘\u000D‘)

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

 C:預定義字符類
  . 任何字符。我的就是.字符本身,怎麽表示呢? \.
  \d 數字:[0-9]


  \w 單詞字符:[a-zA-Z_0-9]
在正則表達式裏面組成單詞的東西必須有這些東西組 D:邊界匹配器

  ^ 行的開頭
  $ 行的結尾
  \b 單詞邊界
  就是不是單詞字符的地方。
  舉例:hello world?haha;xixi

 E:Greedy 數量詞
  X? X,一次或一次也沒有
  X* X,零次或多次
  X+ X,一次或多次
  X{n} X,恰好 n 次
  X{n,} X,至少 n 次
  X{n,m} X,至少 n 次,但是不超過 m 次
(3)常見功能:(分別用的是誰呢?)


 A:判斷功能
  String類的public boolean matches(String regex)
 B:分割功能
  String類的public String[] split(String regex)
 C:替換功能
  String類的public String replaceAll(String regex,String replacement)
 D:獲取功能
  Pattern和Matcher

Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");  

  find():

查找存不存在。
  group():獲取剛才查找過的數據。
(4)案例
A:判斷電話號碼和郵箱
B:按照不同的規則分割數據
C:把論壇中的數字替換為*
D:獲取字符串中由3個字符組成的單詞

2:Math(掌握)
(1)針對數學運算進行操作的類
(2)常見方法
  A:絕對值
  B:向上取整
  C:向下取整
  D:兩個數據中的大值
  E:a的b次冪
  F:隨機數
  G:四舍五入
  H:正平方根
(3)案例:
A:猜數字小遊戲
B:獲取任意範圍的隨機數


3:Random(理解)
(1)用於產生隨機數的類
(2)構造方法:
  Random() 默認種子,每次產生的隨機數不同
  Random(long seed) 指定種子,每次種子相同,隨機數就相同,種瓜得瓜
(3)成員方法:
  int nextInt() 返回int範圍內的隨機數
  int nextInt(int n) 返回[0,n)範圍內的隨機數

4:System(掌握)
(1)系統類,提供了一些有用的字段和方法
(2)成員方法
  A:運行垃圾回收器
  B:退出jvm
  C:獲取當前時間的毫秒值
  D:數組復制

5:BigInteger(理解)
(1)針對大整數的運算
(2)構造方法
  BigInteger(String s)
(3)成員方法
  A:加
  B:減
  C:乘
  D:除
  E:商和余數

6:BigDecimal(理解)
(1)浮點數據做運算,會丟失精度。

  所以,針對浮點數據的操作建議采用BigDecimal。(金融相關的項目)
(2)構造方法
  BigDecimal(String s)
(3)成員方法:
  A:加
  B:減
  C:乘
  D:除
  E:自己保留小數幾位

7:Date/DateFormat(掌握)
(1)Date是日期類,可以精確到毫秒。
 A:構造方法
  Date()
  Date(long time)
 B:成員方法
  getTime()
  setTime(long time)
 C:日期和毫秒值的相互轉換
 案例:你來到這個世界多少天了?
(2)DateFormat針對日期進行格式化和針對字符串進行解析的類,

  但是是抽象類,所以使用其子類SimpleDateFormat。
  A:SimpleDateFormat(String pattern) 給定模式
    yyyy-MM-dd HH:mm:ss
  B:日期和字符串的轉換
   a:Date --> String
    format()
   b:String --> Date
    parse()
  C:案例:
  制作了一個針對日期操作的工具類。

8:Calendar(掌握)
(1)日歷類,封裝了所有的日歷字段值,通過統一的方法根據傳入不同的日歷字段可以獲取值。
(2)如何得到一個日歷對象呢?
  Calendar rightNow = Calendar.getInstance();
    本質返回的是子類對象
(3)成員方法

  • 根據日歷字段得到對應的值.
  • 根據日歷字段和一個正負數確定是添加還是減去對應日歷字段的值.
  • 設置日歷對象的年月日.

(4)案例:
計算任意一年的2月份有多少天?

正則、Random、System、Date