Java中常用類和方法(Number&Math)
Java中常用類和方法(Number&Math)
包裝類
在實際開發過程中,我們經常會遇到需要使用物件,而不是內建資料型別的情形。為了解決這個問題,Java 語言為每一個內建資料型別提供了對應的包裝類。
基本資料型別 | byte | short | int | long | float | double | char | boolean |
---|---|---|---|---|---|---|---|---|
包裝類 | Byte | Short | Integer | Long | Float | Double | Character | Boolean |
裝箱和拆箱
裝箱:自動將基本資料型別轉換成包裝器型別。
Integer a = 128; // 裝箱,相當於 Integer.valueOf(128);
拆箱:自動將包裝器型別轉換為基本資料型別。
int t = a; //拆箱,相當於 a.intValue()
方法
toString() :將數字以字串形式返回
String s1 = Byte.toString((byte)1);
XXXValue() : 將包裝類物件轉換成基本型別資料
Byte b1 = 1;
byte b2 = b1.byteValue(); //拆箱
ValueOf() : 將基本型別資料轉換成包裝類
Integer intvalue = Integer.valueOf(123);
parseXXX() : 包裝類的靜態方法 - 字串轉數字(Character除外)
int a = Integer.parseInt("111");
boolean b = Boolean.parseBoolean("true");
Number類
floor直接取其含義,也就是“地板”,地板在腳下,即向下取整。
ceil****是ceiling的縮寫,也就是“天花板”,天花板在頭頂上,即向上取整**。
round()的四捨五入取整。將傳入的數字加上+0.5後再向下取整
double d = 100.675; float f = -90; System.out.println(Math.floor(d)); //100.0 System.out.println(Math.floor(f)); //-90.0 System.out.println(Math.ceil(d)); //101.0 System.out.println(Math.ceil(f)); //-90.0 System.out.println(Math.round(d)); //101.0
Random類
此類的例項用於生成為偽隨機數。
可以傳入引數設定種子數,相同種子數的Random物件,相同種子數生成的隨機數字是完全相同的。
Random random = new Random();
random.setSeed(50); //設定種子數
for (int i = 0; i < 10; i++) {
System.out.print(random.nextInt(10) + "-");
}
Random random2 = new Random(50); //設定相同種子數
for (int i = 0; i < 10; i++) {
System.out.print(random2.nextInt(10) + "-");
}
String類
length():字串長度
equals():比較內容
equalsIgnoreCase():忽略大小寫比較內容
toLowerCase():轉換為小寫
toUpperCase():轉換為大寫
concat():拼接字串
indexOf():查詢字元第一個出現的位置
lastIndexOf():查詢最後一個出現的位置
subString():擷取字串,包前不包後
trim():去除前後的空格
startsWith():判斷是否以某個字串開頭
endsWith():判斷是否以某個字串結尾
split():分割字串為String陣列
replace():替換字串
replaceAll():可以支援正則表示式替換字串
Runtime類(不能直接new物件)
Runtime.getRuntime() - 獲取一個Runtime例項 new一個Runtime
方法:
mammary() - 實體記憶體
totalMemory() - jvm總記憶體
freeMemory() - 空閒記憶體
exec() 執行可執行檔案
gc() 呼叫垃圾回收機制 但不是立即呼叫
exit() 退出jvm虛擬機器
System類
表示系統類,可以獲取一些當前計算機的一些資訊,比如作業系統版本,jdk版本等
getProperties() - 獲取當前計算機相關的資訊集合,是一個Properties物件
//獲取當前計算機的一系列資訊
Properties properties = System.getProperties();
System.out.println(properties.getProperty("java.version"));
System.out.println(properties.getProperty("user.name"));
System.out.println(properties.getProperty("os.name"));
System.out.println(properties.getProperty("os.version"));
Date日期類
Date日期類,用於獲取時間
Date()無參構造獲取當前系統時間
Date(long time);也可以根據傳入的毫秒數指定一個時間
Calender日曆類
日曆類:跟Date類功能相似,但是很多方法目前是推薦使用
Calendar calendar = Calendar.getInstance();
System.out.println("一個月中的第幾天:" + calendar.DAY_OF_MONTH);
System.out.println("一週中的第幾天:" + calendar.DAY_OF_WEEK);
System.out.println("一年中的第幾天:" + calendar.DAY_OF_YEAR);
System.out.println("一天中的小時數:" + calendar.HOUR_OF_DAY);
SimpleDateFormat類
格式化日期類。
引數("yyyy / MM / dd HH : mm : ss") 引數可自定義,但字元不能改變
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(new Date())); //2020/07/11 17:11:33
StringBuffer和StringBuilder類
當對字串進行修改的時候,需要使用 StringBuffer 和 StringBuilder類。
和 String 類不同的是,StringBuffer 和 StringBuilder類的物件能夠被多次的修改,並且不產生新的未使用物件。
StringBuffer:執行緒安全
StringBuilder:執行緒不安全(不能同步訪問),但是速度更快
StringBuffer stringBuffer = new StringBuffer("Java:");
stringBuffer.append("Hello");
stringBuffer.append("World!");
System.out.println(stringBuffer); //Java:HelloWorld!