- String類
- 日期時間類
- 數學類
- 包裝類
- Runtime類
- 1.獲取執行時環境資訊
- 2.Runtime類的例項化和使用
- 3.執行系統命令
- System類
- 1. 標準輸入輸出和錯誤輸出
- 2. 系統屬性
- 3. 時間和日期
- 4. 陣列操作
- 5. 其他重要方法
String類
- 字串常量池
- 常見方法
- charAt(int index):返回字串指定位置的字元
- indexOf(String s):返回指定字串第一次出現的位置
- startsWith(String s):測試字串是否以指定字首開始
- endsWith(String s):測試字串是否以指定字尾開始
- subString(int index):返回字串的子字串
- replace(char a,char b):替換字串的指定字元
- trim():去掉字串的前後空格
- concat():連線兩個字串
- split(String regex):給定正規表示式的匹配來拆分字串
- 正規表示式
- 字元萬用字元
- 次數萬用字元
- 其他萬用字元
- StringBuffer和StringBuilder
日期時間類
-
Date類
Date表示特定的瞬間,精確到毫秒。Date類中的大部分方法都已經被Calendar類中的方法所取代
-
SimpleDateFormat類
-
Calendar類:Calenda在Java 8及以後的版本中通常被 java.time 包中的類所取代
數學類
- math類
包裝類
-
什麼是包裝類
包裝類主要用於將Java中的八種基本資料型別(boolean、char、byte、short、int、long、float、double)封裝為物件形式,以便在需要物件特性的場合中使用。這些包裝類均位於java.lang包中,是Java類庫的一部分。
-
包裝類的特點
- 封裝基本資料型別:Java是物件導向的程式語言,但基本資料型別並不直接支援物件的特性(如繼承、多型等)。包裝類透過將基本資料型別封裝為物件,使得這些基本資料型別可以參與物件的操作。
- 提供額外功能:包裝類不僅包含了對應基本資料型別的值,還提供了一系列實用的物件操作方法,如型別轉換、進位制轉換、比較大小、獲取最大值和最小值等。
- 支援集合操作:Java的集合(如List、Set、Map等)只能儲存物件,不能直接儲存基本資料型別。透過使用包裝類,可以將基本資料型別轉換為物件,從而儲存在集合中。
- 快取機制:對於Integer類(以及可能的其他包裝類),Java虛擬機器(JVM)會快取一定數量的常用值(如-128到127之間的整數),以避免頻繁地建立和銷燬物件,提高效能。
-
基本資料型別與包裝類
基本資料型別 包裝類
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double
-
包裝類共同點
自動裝箱/拆箱 封裝基本資料型別 自動拆裝箱
8種包裝類提供不用型別間的轉換方式
Number父類中提供的6個共性方法parseXXX( )靜態方法
valueOf( )靜態方法
注意:需保證型別相容,否則丟擲NumberFormatException異常
Runtime類
-
1.獲取執行時環境資訊
-
可以透過Runtime類的例項獲取當前JVM的處理器個數、空閒記憶體量、最大可用記憶體量和記憶體總量的資訊。
-
示例程式碼:
Runtime rt = Runtime.getRuntime(); System.out.println("處理器的個數: " + rt.availableProcessors() + "個"); System.out.println("空閒記憶體數量: " + rt.freeMemory() / 1024 / 1024 + "M"); System.out.println("最大可用記憶體數量: " + rt.maxMemory() / 1024 / 1024 + "M"); System.out.println("虛擬機器中記憶體總量: " + rt.totalMemory() / 1024 / 1024 + "M");
-
2.Runtime類的例項化和使用
例項化:由於Runtime類是單例的,程式中一般不能顯式地主動例項化一個Runtime例項,而是透過Runtime.getRuntime()
來獲取當前程式的Runtime例項。
使用:獲取到Runtime例項後,就可以呼叫其提供的方法來獲取執行時環境資訊、執行系統命令、呼叫垃圾回收等。
-
3.執行系統命令
Runtime類提供了一個exec(String command)
方法,用於執行指定的系統命令或指令碼。該方法返回一個Process
物件,透過該物件可以獲取程序的標準輸出流、錯誤輸出流等,以進行進一步的處理。
-
示例程式碼:
java複製程式碼 Process process = Runtime.getRuntime().exec("notepad.exe");
System類
System類是Java中的一個非常重要的類,它位於java.lang
包中,代表當前Java程式的執行平臺,提供了許多與系統相關的屬性和方法。由於System類的構造方法是private的,因此無法建立System類的物件,即無法例項化該類。不過,System類提供了許多靜態的類變數和類方法,允許直接透過System類來呼叫這些變數和方法。
以下是System類的一些主要特點和功能:
1. 標準輸入輸出和錯誤輸出
- 標準輸入流(in):
public final static InputStream in
,代表標準輸入流,通常是鍵盤輸入。 - 標準輸出流(out):
public final static PrintStream out
,代表標準輸出流,通常是顯示器輸出。 - 標準錯誤輸出流(err):
public final static PrintStream err
,代表標準錯誤輸出流,同樣是輸出到顯示器,但通常用於輸出錯誤資訊。
2. 系統屬性
- 獲取系統屬性:
Properties getProperties()
方法返回當前系統的所有屬性。 - 獲取指定鍵的系統屬性:
String getProperty(String key)
方法根據鍵名獲取對應的屬性值。 - 設定系統屬性:
String setProperty(String key, String value)
方法允許設定指定鍵的系統屬性,但需要注意的是,並非所有系統屬性都可以被設定。
3. 時間和日期
- currentTimeMillis():返回當前時間與GMT時間(格林尼治時間)1970年1月1日0時0分0秒之間的毫秒差值。這個方法常用於測量程式執行時間等場景。
4. 陣列操作
- arraycopy():這是一個用於陣列複製的方法,其原型為
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
。它可以將指定源陣列中的元素複製到目標陣列的指定位置,是系統級的操作,效能較高。
5. 其他重要方法
- exit(int status):用於退出當前執行的Java虛擬機器。當引數status為0時表示正常退出,非0值表示異常退出。
- gc():請求JVM執行垃圾回收。但是否立即執行垃圾回收取決於JVM的垃圾回收演算法和當前系統的執行狀況。
System類提供的這些功能使得Java程式能夠與執行環境進行互動,實現輸入輸出、系統屬性訪問、時間測量、陣列操作以及程式退出等功能。由於這些功能都是靜態的,因此可以透過System類直接呼叫,無需建立物件。