JAVA基礎之常用的類以及正則表示式,打基礎這些決不能少!
說到正則表示式,可能很多人想到的就是驗證之類的,沒錯,正則表示式作為一個驗證的方法或者說規則,只要是需要輸入和驗證的網站和app,沒有不需要使用正則表示式的,由此可以看出正則表示式的重要性。作為一個合格的程式設計師,正則表示式和執行緒、io流等是必須要知道的東西。
一、Math
(1)針對數學運算進行操作的類
(2)常見方法:
A:絕對值 Math.abs()
B:向上取整 Math.floor()
C:向下取整 Math.ceil()
D:兩個資料中的大值 Math.max()
E:a的b次冪 Math.pow(a, b)
F:隨機數 Math.random()
G:四捨五入 Math.rint()
H:正平方根 Math.sqrt()
(3)案例:
A:猜數字小遊戲
B:獲取任意範圍的隨機數
猜數字小案例
二、Random
(1)用於產生隨機數的類
(2)構造方法:
A:Random() 預設種子,每次產生的隨機數不同
B:Random(long seed) 指定種子,每次種子相同,隨機數就相同
(3)成員方法:
A:int nextInt() 返回int範圍內的隨機數
B:int nextInt(int n) 返回[0,n)範圍內的隨機數
三、System
(1)系統類,提供了一些有用的欄位和方法
(2)成員方法(自己補齊)
A:執行垃圾回收器
B:退出jvm
C:獲取當前時間的毫秒值
D:陣列複製
四、BigInteger
(1)針對大整數的運算
(2)構造方法
A:BigInteger(String s)
(3)成員方法
A:加 public BigInteger add(BigInteger val)
B:減 public BigInteger subtract(BigInteger val)
C:乘 public BigInteger multiply(BigInteger val)
D:除 public BigInteger divide(BigInteger val)
E:商和餘數 public BigInteger[] divideAndRemainder(BingInteger val)
五、BigDecimal
(1)浮點資料做運算,會丟失精度。所以,針對浮點資料的操作建議採用BigDecimal。(金融相關的專案)
(2)構造方法
A:BigDecimal(String s)
(3)成員方法:
A:加 public BigDecimaladd(BigDecimalval)
B:減 public BigDecimalsubtract(BigDecimalval)
C:乘 public BigDecimalmultiply(BigDecimalval)
D:除 public BigDecimaldivide(BigDecimalval)
E:自己保留小數幾位
六、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()
七、Calendar
(1)日曆類,封裝了所有的日曆欄位值,通過統一的方法根據傳入不同的日曆欄位可以獲取值。
(2)如何得到一個日曆物件呢?
Calendar rightNow = Calendar.getInstance();
本質返回的是子類物件
(3)成員方法
A:根據日曆欄位得到對應的值
B:根據日曆欄位和一個正負數確定是新增還是減去對應日曆欄位的值
C:設定日曆物件的年月日
(4)案例:
計算任意一年的2月份有多少天?
常用類總結:
Object:是類層次結構的根類,所有類都直接或者間接的繼承自該類。
Scanner:獲取鍵盤錄入資料的
String:針對字串的常見操作的
StringBuffer/StringBuilder:字串緩衝區類,提高字串的操作效率
Arrays:針對陣列進行操作的工具類
Integer:把int型別封裝成Integer型別,可以呼叫方法了,最主要是可以把String轉換int型別了
Character:把char型別封裝成Character型別,可以呼叫方法了。瞭解幾個方法就可以了。
Pattern:正則表示式的編譯表示形式。模式物件。
Matcher:匹配器物件。
Math:針對數學運算操作的類
Random:產生隨機數的類
System:系統類,提供了幾個有用方法
BigInteger:大整數的運算
BigDecimal:浮點數的運算用這個,不會有精度的丟失
Date:針對日期操作的類,可以精確到毫秒
DateFormat:針對日期進行格式化或者針對字串進行解析
Calendar:日曆類,把所有的日曆欄位進行了封裝,要什麼,自己獲取,然後拼接。
八、正則表示式
(1)就是符合一定規則的字串
(2)常見規則
A:字元
x 字元 x。舉例:'a'表示字元a
\ 反斜線字元。
新行(換行)符 ('\u000A')
回車符 ('\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:邊界匹配器
^ 行的開頭
$ 行的結尾
單詞邊界
就是不是單詞字元的地方。
舉例: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:判斷電話號碼和郵箱
手機號:/^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/
郵箱:/^[a-z0-9!#$%&'*+/=?^_`{|}~.-][email protected][a-z0-9]([a-z0-9-]*[a-z0-9])?(.[a-z0-9]]([a-z0-9-]*[a-z0-9])?)*$/i
B:按照不同的規則分割資料
C:把論壇中的數字替換為*
sed 's/[0-9]/*/g' file
D:獲取字串中由3個字元組成的單詞
好了,本篇文章就分享到這裡了。有興趣的新手夥伴們可以關注收藏起來,以後需要的時候可以多看看。如果有正在學java的程式設計師,可來我們的java技術學習扣qun哦:59789,1510裡面免費送java的視訊系統教程!