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 }