Java中System类的常用方法
发布于:2020-01-13   作者:admin   浏览:554次

  System类对大家来说并不陌生,因为之前在打印结果时,使用的都是“System.out.println()”语句,这句代码中就使用了System类。System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用System类调用即可。下面java培训机构列举了System类的常用方法。

  上面列出了System类的常用方法,接下来通过一些案例对表中的方法进行讲解。

Java中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);

  }

  }

  }

  上面案例实现了获取当前系统属性的功能。首先通过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)+"毫秒");

  }

  }

  上面案例中,演示了数字的求和操作,程序在求和开始和结束时,分别调用了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>);

  }

  }

  }

  上面案例中,创建了两个数组fromArray和toArray,分别代表源数组和目标数组,当调用arraycopy()方法进行元素拷贝时,由于指定了从源数组中索引为2的元素开始拷贝,并且拷贝4个元素存放在目标数组中索引为3的位置,因此,在打印目标数组的元素时,程序首先打印的是数组toArray的前3个元素201、202、203,然后打印的是从fromArray中拷贝的4个元素。