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()
方法是调用垃圾回收方法