java System类

java System类


System 类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于 java. lang 包。由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。

System 类内部的成员变量和成员方法都是 static 的,所以可以方便地进行调用。

System 类的成员变量

System 3个静态成员变量out、in、err。

out

out是类System中的静态的类成员,可以直接被调用,输出流

System.out.println("Hello");

println方法是属于流 PrintStream的方法,而不是System中的方法。

in

int是类System中的静态的类成员,可以直接被调用,输入流

err

其语法与 System.out类似,不需要提供参数就可输出错误信息。也可以用来输出用户指定的其他信息,包括变量的值。错误输出流

System 类实现从键盘输入字符并显示出来

System.out.println("请输入字符按回车键结束输入:");
int a;
try {
    a = System.in.read();    //读取输入的字符
    if (a != '\r') {    //判断输入的字符是不是回车
        System.out.print((char) a);    //输出字符
    }
} catch (IOException e) {
    System.out.println(e.toString());
} finally {
    System.err.println();
}

System.in.read() 语句读入一个字符,read() 方法是 InputStream 类拥有的方法。
如输入汉字将不能正常输出,要输入汉字则需要把System.in声明为InputStreamReader类型的实例即可。

InputStreamReader in = new InputStreamReader(System.in);
System.out.println("请输入字符按回车键结束输入:");
try {
    int a = in.read();
    if (a != '\r') {
        System.out.print((char) a);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    System.err.println();
}

InputStreamReader in = new InputStreamReader(System.in);声明一个新对象in,它从 Reader 继承而来,此时就可以显示正常的汉字。

System 类的成员方法

System 类中提供了一些系统级的操作方法,常用的方法有arraycopy()、currentTimeMillis()、exit()、gc()。

arraycopy()

数组的拷贝,从原数组复制一个长度和内容一样的新数组出来。

System.arraycopy(src, 0, dest, 0, 5);

src 表示源数组,srcPos 表示从源数组中复制的起始位置,dest 表示目标数组,destPos 表示要复制到的目标数组的起始位置,length 表示复制的个数。

int[] src = {1,2,3,4,5};

int[] dest = new int[10];

System.arraycopy(src, 0, dest, 0, 5);

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

    System.out.print(dest[i] + " ");

}

从0开始复制5个

currentTimeMillis()

返回以毫秒为单位的当前系统时间

System.out.print(System.currentTimeMillis());

exit(int status)

终止当前正在运行的 Java 虚拟机

System.out.print(System.currentTimeMillis());
System.exit(0);
System.out.print(System.currentTimeMillis());

status 的值为 0 时表示正常退出,非零时表示异常退出。参数status是一个int类型。

gc()

方法是调用垃圾回收方法

猜你喜欢

转载自blog.csdn.net/qq_36567996/article/details/88689946