常用API-3(System类、Math类、Arrays类、正则表达式)
1.Syetem
java.lang包中,被final修飾,不可被繼承。
代表程序所在系統(tǒng),提供了對(duì)應(yīng)的一些系統(tǒng)屬性信息和系統(tǒng)操作。
不可手動(dòng)創(chuàng)建System類的對(duì)象(因?yàn)闃?gòu)造函數(shù)被private修飾)。
System類中的方法都是static,直接可用類名訪問(wèn)。
1.1方法
currentTimeMills():當(dāng)前系統(tǒng)時(shí)間與1970年1月1日00:00:00的毫秒差
exit():終止JVM。用來(lái)結(jié)束正在運(yùn)行的Java程序
- 0:正常狀態(tài)
- 其他:異常
gc():(盡最大努力)用來(lái)運(yùn)行JVM中的垃圾回收器,完成內(nèi)存中的垃圾清除
getProperty(String):用來(lái)獲取指定鍵(String指定)中所記錄的系統(tǒng)信息
arraycopy():將源數(shù)組部分元素復(fù)制到目標(biāo)數(shù)組中。
- arraycopy(Object src,int srcPos,Object dest,int destPos,int length)注意索引越界問(wèn)題。
注:
Object中的finalize():
- 當(dāng)垃圾回收器確定不存在該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法;
- 在System.gc()時(shí)調(diào)用
2.Math類
包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法的數(shù)學(xué)工具類。
其所有方法均為靜態(tài)方法,一般不會(huì)創(chuàng)建對(duì)象。
double abs(double):絕對(duì)值
double ceil(double):比參數(shù)值大的最小整數(shù)的double值
double floor(double):比參數(shù)值小的最大整數(shù)的double值
long round(double):參數(shù)值四舍五入的結(jié)果
double random():產(chǎn)生一個(gè)(0.0,1.0)之間的double小數(shù)
double max(double,double):去較大者
double pow(double a,double b): a^b
屬性:E、PI等也有static修飾
3.Arrays
包含用來(lái)操作數(shù)組的各種方法
若指定數(shù)組引用為null,則訪問(wèn)此類中的方法都會(huì)拋出異常:NullPointerException
sort():從小到大排序
binarySearch():未查到,返回-1;前提,數(shù)組需有序。
4.正則表達(dá)式
Regular Expression(regex)
它使用單個(gè)字符串來(lái)描述,用來(lái)定義匹配規(guī)則,匹配一系列符合某個(gè)句法規(guī)則的字符串。
通常被用來(lái)檢索、替換那些符合某個(gè)規(guī)則的文本
String類中有一個(gè)boolean matches(String regex)
4.1Pattern類
有正則表達(dá)式的規(guī)則定義
正則表達(dá)式中明確區(qū)分大小寫
4.2正則表達(dá)式的語(yǔ)法規(guī)則
| 字符 | 含義 |
| x | 字符x |
| \\ | 反斜線字符‘\’ |
| \t | 制表符 |
| \n | 換行符 |
| \r | 回車符 |
| [abc] | 字符a、b、c |
| [^abc] | 除了a、b或c以外的任何字符 |
| [a-zA-Z] | a到zA到Z,兩頭字母包括在內(nèi)的任何字符 |
| [0-9] | 0到9數(shù)字,兩頭包括在內(nèi) |
| [a-zA-Z_0-9] | 字母或數(shù)字或下劃線 |
| . | 任何字符 |
| \D | 0-9數(shù)字,等價(jià)于[0-9] |
| \W | 相當(dāng)于[a-zA-Z_0-9] |
| ^ | 行的開頭 |
| $ | 行的結(jié)尾 |
| x? | x出現(xiàn)0次或1次 |
| x* | x出現(xiàn)0次或多次 |
| x+ | x出現(xiàn)1次或多次 |
| x{n} | x出現(xiàn)恰好n次 |
| x{n,} | x出現(xiàn)至少n次 |
| x{n,m} | x出現(xiàn)至少n次,至多m次 |
eg.
- [0-9]{6,12}:匹配6到12位數(shù)字
- 1[34578][0-9]{9}:11位手機(jī)號(hào),第一位為1,第二位為3,4,5,7,8中的一個(gè),后面9位為0-9之間任意數(shù)字
- a*b:多個(gè)a或0個(gè)a后面有個(gè)b,b必須為最后一個(gè)字符
4.3字符串類中涉及正則表達(dá)式
eg.校驗(yàn)QQ號(hào)碼
String qq="604154942"; String regex="[1-9][0-9]{4,14}"; boolean flag=qq.matches(regex);split()
依據(jù)指定的正則表達(dá)式的匹配規(guī)則,拆分字符串
String s="18-22-40-65"; String regex="-"; String[] result=s.split(regex);repalceAll()
將符合規(guī)則的字符串全部替換為新的字符串
String s="Hello12345World6789012"; String regex="[0-9]"; String result=s.repalceAll(regex," ");?
總結(jié)
以上是生活随笔為你收集整理的常用API-3(System类、Math类、Arrays类、正则表达式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 常用API-2(字符串与数组)
- 下一篇: IO-3(Reader、Writer、编