Java 之 System 类

  java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。

一、标准输入、标准输出和错误输出流对象

PrintStream err:“标准”错误输出流。 
InputStream in:“标准”输入流。 
PrintStream out:“标准”输出流。 

  Demo:

 1 import java.util.Scanner;
 2 
 3 class TestSystem{
 4     public static void main(String[] args){
 5         Scanner input = new Scanner(System.in);
 6         System.out.print("请输入成绩:");
 7         int score = input.nextInt();
 8         
 9         if(score>=0 && score<=100){
10             System.out.println("成绩是:" + score);
11         }else{
12             System.err.println("输入有误,成绩应该在[0,100]");
13         }
14     }
15 }

二、常用方法

void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
long currentTimeMillis() :返回以毫秒为单位的当前时间。  
void exit(int status) :终止当前正在运行的 Java 虚拟机。
void gc():运行垃圾回收器。  
Properties getProperties():确定当前的系统属性。 
String getProperty(String key):获取指定键指示的系统属性。 
void setErr(PrintStream err) :重新分配“标准”错误输出流。 
void setIn(InputStream in):重新分配“标准”输入流。 
void setOut(PrintStream out):重新分配“标准”输出流。 
String setProperty(String key, String value) :设置指定键指示的系统属性。

  

  常用方法1:

public static long currentTimeMillis():返回以毫秒为单位的当前时间。

  该方法获取当前系统时间与 1970年01月01日00:00点之间的毫秒差值

  常用方法2:

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)`:将数组中指定的数据拷贝到另一个数组中

   数组的拷贝动作是系统级的,性能很高。

   System.arraycopy 方法具有5个参数,含义分别为:

参数序号 参数名称 参数类型 参数含义
1 src Object 源数组
2 srcPos int 源数组索引起始位置
3 dest Object 目标数组
4 destPos int 目标数组索引起始位置
5 length int 复制元素个数

  Demo:

 1 import java.util.Arrays;
 2 
 3 public class Demo11SystemArrayCopy {
 4     public static void main(String[] args) {
 5         int[] src = new int[]{1,2,3,4,5};
 6         int[] dest = new int[]{6,7,8,9,10};
 7         System.arraycopy( src, 0, dest, 0, 3);
 8         /*代码运行后:两个数组中的元素发生了变化
 9          src数组元素[1,2,3,4,5]
10          dest数组元素[1,2,3,9,10]
11         */
12     }
13 }