1. 程式人生 > >JAVA基礎之常用的類以及正則表示式,打基礎這些決不能少!

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的視訊系統教程!