Character類
首先我們來(lái)了解它的概述及其構(gòu)造方法
-
Character類概述
- Character 類在對(duì)象中包裝一個(gè)基本類型 char 的值,此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數(shù)字,等等),并將字符從大寫轉(zhuǎn)換成小寫,反之亦然
-
構(gòu)造方法
- public Character(char value)
-
Character類成員方法
- public static boolean isUpperCase(char ch):判斷給定的字符是否是大寫字符
- public static boolean isLowerCase(char ch):判斷給定的字符是否是小寫字符
- public static boolean isDigit(char ch):判斷給定的字符是否是數(shù)字字符
- public static char toUpperCase(char ch):把給定的字符轉(zhuǎn)換為大寫字符
- public static char toLowerCase(char ch):把給定的字符轉(zhuǎn)換為小寫字符
Math類
- Math類概述
- Math 類包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法,如初等指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)。
- 成員變量
- public static final double PI
- public static final double E
- 成員方法
- public static int abs(int a):絕對(duì)值
- public static double ceil(double a):向上取整
- public static double floor(double a):向下取整
- public static int max(int a,int b):最大值
- public static double pow(double a,double b):a的b次冪
- public static double random():隨機(jī)數(shù) [0.0,1.0)
- public static int round(float a) 四舍五入
- public static double sqrt(double a):正平方根
Random類
- Random類概述
- 此類用于產(chǎn)生隨機(jī)數(shù)
- 如果用相同的種子創(chuàng)建兩個(gè) Random 實(shí)例,則對(duì)每個(gè)實(shí)例進(jìn)行相同的方法調(diào)用序列,它們將生成并返回相同的數(shù)字序列。
- 構(gòu)造方法
- public Random()
- public Random(long seed)
- 成員方法
- public int nextInt():返回的是int范圍內(nèi)的隨機(jī)數(shù)
- public int nextInt(int n):返回的是[0,n)范圍的內(nèi)隨機(jī)數(shù)
System類
- System類概述
- System 類包含一些有用的類字段和方法。它不能被實(shí)例化。
- 成員方法
- public static void gc():運(yùn)行垃圾回收器。
- public static void exit(int status):終止當(dāng)前正在運(yùn)行的 Java 虛擬機(jī)。參數(shù)用作狀態(tài)碼;根據(jù)慣例,非 0 的狀態(tài)碼表示異常終止。
- public static long currentTimeMillis():返回以毫秒為單位的當(dāng)前時(shí)間
- public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):從指定源數(shù)組中復(fù)制一個(gè)數(shù)組,復(fù)制從指定的位置開(kāi)始,到目標(biāo)數(shù)組的指定位置結(jié)束。
System.gc()可用于垃圾回收。
當(dāng)使用System.gc()回收某個(gè)對(duì)象所占用的內(nèi)存之前,通過(guò)要求程序調(diào)用適當(dāng)?shù)姆椒▉?lái)清理資源。在沒(méi)有明確指定資源清理的情況下,Java提高了默認(rèn)機(jī)制來(lái)清理該對(duì)象的資源,就是調(diào)用Object類的finalize()方法。finalize()方法的作用是釋放一個(gè)對(duì)象占用的內(nèi)存空間時(shí),會(huì)被JVM調(diào)用。而子類重寫該方法,就可以清理對(duì)象占用的資源,該方法有沒(méi)有鏈?zhǔn)秸{(diào)用,所以必須手動(dòng)實(shí)現(xiàn)。
執(zhí)行System.gc()前,系統(tǒng)會(huì)自動(dòng)調(diào)用finalize()方法清除對(duì)象占有的資源,通過(guò)super.finalize()方式可以實(shí)現(xiàn)從下到上的finalize()方法的調(diào)用,即先釋放自己的資源,再去釋放父類的資源。
但是,不要在程序中頻繁的調(diào)用垃圾回收,因?yàn)槊恳淮螆?zhí)行垃圾回收,jvm都會(huì)強(qiáng)制啟動(dòng)垃圾回收器運(yùn)行,這會(huì)耗費(fèi)更多的系統(tǒng)資源,會(huì)與正常的Java程序運(yùn)行爭(zhēng)搶資源,只有在執(zhí)行大量的對(duì)象的釋放,才調(diào)用垃圾回收最好
public class SystemDemo {
public static void main(String[] args) {
System.out.println("1945年的今天");
System.exit(0);
System.out.println("日本宣布無(wú)條件投降");
}
}
//運(yùn)行結(jié)果可以看到控制臺(tái)只打印了:1945年的今天//因?yàn)镾ystem.exit(0);終止當(dāng)前正在運(yùn)行的 Java 虛擬機(jī)。
我們?cè)賮?lái)看System.currentTimeMillis();返回以毫秒為單位的當(dāng)前時(shí)間
//單獨(dú)使用這樣目前對(duì)我們來(lái)說(shuō)意義不大,所以我們可以統(tǒng)計(jì)下面這段程序的運(yùn)行時(shí)間long start = System.currentTimeMillis();
for (int x = 0; x < 100000; x++) {
System.out.println("hello" + x);
}
long end = System.currentTimeMillis();
System.out.println("共耗時(shí):" + (end - start) + "毫秒");
最后一個(gè)成員方法public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
我們先來(lái)說(shuō)方法中的參數(shù)分別是什么意思
src——源數(shù)組
srcPos——原數(shù)組中的起始位置
dest——目標(biāo)數(shù)組
destPos——目標(biāo)數(shù)組中的起始位置
length——要復(fù)制的數(shù)組元素的數(shù)量
了解了參數(shù),我們來(lái)一起聯(lián)系一下
public class SystemDemo {
public static void main(String[] args) {
// 定義數(shù)組
int[] arr = { 11, 22, 33, 44, 55 };
int[] arr2 = { 6, 7, 8, 9, 10 };
System.arraycopy(arr, 1, arr2, 2, 2);
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(arr2));
}
}