日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java System类详解

發布時間:2025/3/12 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java System类详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

System 類位于 java.lang 包,代表當前 Java 程序的運行平臺,系統級的很多屬性和控制方法都放置在該類的內部。由于該類的構造方法是 private 的,所以無法創建該類的對象,也就是無法實例化該類。

System 類提供了一些類變量和類方法,允許直接通過 System 類來調用這些類變量和類方法。

System 類的成員變量

System 類有 3 個靜態成員變量,分別是 PrintStream out、InputStream in 和 PrintStream err。

1. PrintStream out
標準輸出流。此流已打開并準備接收輸出數據。通常,此流對應于顯示器輸出或者由主機環境或用戶指定的另一個輸出目標。

例如,編寫一行輸出數據的典型方式是:

System.out.println(data);

其中,println 方法是屬于流類 PrintStream 的方法,而不是 System 中的方法。

2. InputStream in
標準輸入流。此流已打開并準備提供輸入數據。通常,此流對應于鍵盤輸入或者由主機環境或用戶指定的另一個輸入源。

3. PrintStream err
標準的錯誤輸出流。其語法與 System.out 類似,不需要提供參數就可輸出錯誤信息。也可以用來輸出用戶指定的其他信息,包括變量的值。

使用 System 類實現從鍵盤輸入字符并顯示出來。 代碼如下:

import java.io.IOException; public class Test {public static void main(String[] args) {System.out.println("請輸入字符,按回車鍵結束輸入:");int c;try {c = System.in.read(); // 讀取輸入的字符while(c != '\r') { // 判斷輸入的字符是不是回車System.out.print((char) c); // 輸出字符c = System.in.read();}} catch(IOException e) {System.out.println(e.toString());} finally {System.err.println();}} }

以上代碼中,System.in.read() 語句讀入一個字符,read() 方法是 InputStream 類擁有的方法。變量 c 必須用 int 類型而不能用 char 類型,否則編譯失敗。

以上的程序如果輸入漢字將不能正常輸出。如果要正常輸出漢字,需要把 System.in 聲明為 InputStreamReader 類型的實例,最終在 try 語句塊中的代碼為:

InputStreamReader in = new InputStreamReader(System.in, "GB2312"); c = in.read(); while(c != '\r') {System.out.print((char) c);c = in.read(); }

如上述代碼所示,語句 InputStreamReader in=new InputStreamReader(System.in,“GB2312”) 聲明一個新對象 in,它從 Reader 繼承而來,此時就可以讀入完整的 Unicode 碼,顯示正常的漢字。

System 類的成員方法

System 類中提供了一些系統級的操作方法,常用的方法有 arraycopy()、currentTimeMillis()、exit()、gc() 和 getProperty()。

1. arraycopy() 方法
數組復制,即從指定源數組中復制一個數組,復制從指定的位置開始,到目標數組的指定位置結束。該方法的具體定義如下:

public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

其中,src 表示源數組,srcPos 表示從源數組中復制的起始位置,dest 表示目標數組,destPos 表示要復制到的目標數組的起始位置,length 表示復制的個數。

arraycopy() 方法的使用:

public class System_arrayCopy {public static void main(String[] args) {char[] srcArray = {'A','B','C','D'};char[] destArray = {'E','F','G','H'};System.arraycopy(srcArray,1,destArray,1,2);System.out.println("源數組:");for(int i = 0;i < srcArray.length;i++) {System.out.println(srcArray[i]);}System.out.println("目標數組:");for(int j = 0;j < destArray.length;j++) {System.out.println(destArray[j]);}} }

將數組 srcArray 中,從下標 1 開始的數據復制到數組 destArray 從下標 1 開始的位置,總共復制兩個。也就是將 srcArray[1] 復制給 destArray[1],將 srcArray[2] 復制給 destArray[2]。這樣經過復制之后,數組 srcArray 中的元素不發生變化,而數組 destArray 中的元素將變為 E、B、C、 H,下面為輸出結果:

源數組: A B C D 目標數組: E B C H

2. currentTimeMillis() 方法
返回當前的計算機時間,時間的格式為當前計算機時間與 GMT 時間(格林尼治時間)1970 年 1 月 1 日 0 時 0 分 0 秒所差的毫秒數。一般用它來測試程序的執行時間。例如:

long m = System.currentTimeMillis();

上述語句將獲得一個長整型的數字,該數字就是以差值表達的當前時間。

使用 currentTimeMillis() 方法來顯示時間不夠直觀,但是可以很方便地進行時間計算。例如,計算程序運行需要的時間就可以使用如下的代碼:

public class System_currentTimeMillis {public static void main(String[] args) {long start = System.currentTimeMillis();for(int i = 0;i < 100000000;i++) {int temp = 0;}long end = System.currentTimeMillis();long time = end - start;System.out.println("程序執行時間" + time + "秒");} }

上述代碼中的變量 time 的值表示代碼中 for 循環執行所需要的毫秒數,使用這種方法可以測試不同算法的程序的執行效率高低,也可以用于后期線程控制時的精確延時實現。

3. exit() 方法
終止當前正在運行的 Java 虛擬機,具體的定義格式如下:

public static void exit(int status)

其中,status 的值為 0 時表示正常退出,非零時表示異常退出。使用該方法可以在圖形界面編程中實現程序的退出功能等。

4. gc() 方法
請求系統進行垃圾回收,完成內存中的垃圾清除。至于系統是否立刻回收,取決于系統中垃圾回收算法的實現以及系統執行時的情況。定義如下:

public static void gc()

5. getProperty() 方法
獲得系統中屬性名為 key 的屬性對應的值,具體的定義如下:

public static String getProperty(String key)

系統常見屬性

getProperty() 方法的使用。

public class System_getProperty {public static void main(String[] args) {String jversion = System.getProperty("java.version");String oName = System.getProperty("os.name");String user = System.getProperty("user.name");System.out.println("Java 運行時環境版本:"+jversion);System.out.println("當前操作系統是:"+oName);System.out.println("當前用戶是:"+user);} }

運行該程序,輸出的結果如下:

Java 運行時環境版本:1.6.0_26 當前操作系統是:Windows 10 當前用戶是:Administrator

總結

以上是生活随笔為你收集整理的Java System类详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。