Java System类

140 阅读2分钟

内容

在API中system类介绍的比较简单,我们给出定义,system中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。

  注意,system类不能手动创建对象,因为构造方法被私有化(即被private关键字修饰),组织外界创建对象(即不能用new关键字生成一个对象)。System类中的都是静态方法(static关键字修饰),类名访问即可。在JDK中,有许多这样的类。在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。

常用方法

  1. 获取系统当前毫秒值(public static long currentTimeMillis())返回值是long
public class SystemObj {
    static void testTime(){
        long s = System.currentTimeMillis();//获取当前系统时间,毫秒
        for (int i = 0; i < 100; i++) {
            for (int i1 = 0; i1 < 1000; i1++) {
                System.out.println(i);
            }

        }
        long e = System.currentTimeMillis();//结束时间
        System.out.println("for 循环好耗时"+(e-s)+"毫秒");
    }

    public static void main(String[] args) {
        SystemObj.testTime();
    }
}
  1. 结束正在运行的Java程序(public staitc void exit(int status)) 参数传入一个数字即可。通常传入0记为正常状态,其它为异常状态。
    System.exit(0);
  2. System类方法复制数组(public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length))【native 是可以调用当前操作系统来实现数组拷贝的】 用来实现将源数组部分元素复制到目标数组的指定位置。各个参数功能如下:

  Object src:要复制的原数组;

  Int srcPos:数组源的起始索引;

  Object dest:复制后的目标数组;

  int destPos:目标数组起始索引;

  int length,指定复制的长度;

import java.util.Arrays;

public class SystemObj {
    /*static void testTime(){
        long s = System.currentTimeMillis();//获取当前系统时间,毫秒
        for (int i = 0; i < 100; i++) {
            for (int i1 = 0; i1 < 1000; i1++) {
                System.out.println(i);
            }

        }
        long e = System.currentTimeMillis();//结束时间
        System.out.println("for 循环好耗时"+(e-s)+"毫秒");
    }*/

    public static void main(String[] args) {
        //SystemObj.testTime();
        int[] src = {1,22,333,4444,5555,666666,7777777};
        int[] dest =new int[6];// {10,20,30};
        System.arraycopy(src, 0, dest, 0, dest.length);
        //把src从0开始拷贝,覆盖数组从0开始到dest的长度。
        System.out.println(Arrays.toString(dest));
    }
}