傳智播客旗下品牌:|||||

全國咨詢/投訴熱線:400-618-4000

Java中System類的常用方法[java學習筆記]

更新時間:2020年01月09日16時51分 來源:傳智播客

System類對大家來說并不陌生,因為之前在打印結果時,使用的都是“System.out.println()”語句,這句代碼中就使用了System類。System類定義了一些與系統相關的屬性和方法,它所提供的屬性和方法都是靜態的,因此,想要引用這些屬性和方法,直接使用System類調用即可。下面我們列舉了System類的常用方法。推薦了解傳智播客java課程



方法聲明 功能描述
static void exit(int status) 該方法用于終止當前正在運行的Java虛擬機,其中參加數
status表示狀態碼,如果狀態碼不是0,則表示異常終止
static long gc() 運行垃圾回收器,并對垃圾進行回收
static long currentTimeMillis() 返回以毫秒為單位的當前時間
static void arraycopy(Object src,
int srcPos,Object dest,int destPos,int length)
從src應用的指定源數組復制到dest引用的數組,復制從指定
的位置開始,到目標的指定位置結束
static Properties getProperties() 取得當前的系統屬性
static String getProperty(String key) 獲取指定鍵描述的系統屬性

上面列出了System類的常用方法,接下來通過一些案例對表中的方法進行講解。

1、getProperties()方法

Syste類的getProperties()方法用于獲取當前系統的全部屬性,該方法會返回一個Properties對象,其中封裝了系統的所有屬性,這些屬性是以鍵值對的形式存在,接下來過一個案例來顯示系統所有的屬性。

import java.util.*;

public class system01 {

    public static void main(String[] args) {

        //獲得當前系統屬性

        Properties properties=System。getProperties();

        //獲得所有系統屬性的key,返回Enumeration對象

        Enumeration propertyNames=properties.propertyNames();

        while (propertyNames.hasMoreElements()) {

            //獲取當前屬性對應的鍵key

            String key=(String) propertyNames。nextElement();

            //獲得當前key對應的值value

            String value=System。getProperty(key);

            System.out.println(key+"--->"+value);

        }

    }

}

運行結果:

1578558305077_system類.jpg


上面案例實現了獲取當前系統屬性的功能。首先通過Syste的get Properties()方法獲取封裝了系統屬性的Properties集合,然后對 Properties集合進行迭代,將所有系統屬性的鍵以及對應的值打印出來。從圖中可以看出,這些系統屬性包括虛擬機版本號、用戶國家、操作系統的架構等。

2. currentTimeMillis()

currentTimeMillis()方法返回一個1ong類型的值,該值表示當前時間與1970年1月1日0點0分0秒之間的時間差,單位是毫秒,習慣性地被稱作時間戳。接下來通過個案例來計算程序在進行求和操作時所消耗的時間。

public class system02 {

    public static void main(String[] args){

        long startTime=System.currentTimeMillis();     //循環開始時的當前時間

        int sum=0;

        for (int i=0;i<=100000000;i++){

            sum +=i;

        }

    long endTime=System.currentTimeMillis();        //循環結束后的時間

    System。out。println("程序運行的時間為:"+(endTime-startTime)+"毫秒");

    }

}

運行結果:

1578558330841_System類02.jpg


上面案例中,演示了數字的求和操作,程序在求和開始和結束時,分別調用了current TimeMillis()方法獲得了兩個時間戳,兩個時間戳之間的差值便是求和操作耗費的時間。

3. arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

arraycopy()方法用于將一個數組中的元素快速拷貝到另一個數組。其中的參數具體作用如下:

src:表示源數組。

dest:表示目標數組。

srcPos:表示源數組中拷貝元素的起始位置。

desPos:表示拷貝到目標數組的起始位置。

length:表示拷貝元素的個數。

需要注意的是,在進行數組復制時,目標數組必須有足夠的空間來存放拷貝的元素,否則會發生角標越界異常。接下來通過一個案例來演示數組元素的拷貝。

public class system03 {

    public static void main(String[] args){

        int[] fromArray={101,102,103,104,105,106};      //源數組

        int[] toArray={201,202,203,204,205,206,207};   //目標數組

        System.arraycopy(fromArray,2,toArray,3,4);      //拷貝數組元素

        //打印目標數組中的元素

        for(int i=0;i<toArray.length;i++){

            System.out.println(i+":"+toArray[i]);

        }

    }

 

}

運行結果如下:

1578558347274_System類03.jpg


上面案例中,創建了兩個數組 fromArray和 toArray,分別代表源數組和目標數組,當調用 arraycopy()方法進行元素拷貝時,由于指定了從源數組中索引為2的元素開始拷貝,并且拷貝4個元素存放在目標數組中索引為3的位置,因此,在打印目標數組的元素時,程序首先打印的是數組toArray的前3個元素201、202、203,然后打印的是從fromArray中拷貝的4個元素。

除了以上例程涉及到的方法,System類還有兩個常見的方法,分別是gc()和ext(int staus)方法。其中gc()方法用來啟動Java的垃圾回收器,并且對內存中的垃圾對象進行回收。exit(int staus)方法用來終止當前正在運行的Java虛擬機,其中的參數status用于表示當前發生的異常狀態,通常指定為0,表示正常退出,否則表示異常終止。

猜你喜歡:

什么是Java,Java有幾個技術平臺?

Java中do…while循環語句用法詳解

2019年最新网赚方法 中华彩票网 如何网赚 有没有什么靠谱的网赚 网赚投资是真的吗 网赚平台是真的吗 玖玖棋牌游戏 什么网赚真实啊 天津11选5分布走势图 华夏网赚论坛官网华夏网赚论坛福缘网赚论坛网