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