• Java 常用类——System类


    一、System 类概述

      1、System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。

      2、由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的, 所以也可以很方便的进行调用。
        

      

    二、成员变量

      System 类内部包含 in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。

    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 }

    三、成员方法

      1、native long currentTimeMillis()

        该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)197011000秒所差的毫秒数。

      2、void exit(int status)

        该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表异常退出。 使用该方法可以在图形界面编程中实现程序的退出功能

      3、void gc()

        该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的情况。

      4、Properties getProperties()

        获取当前的系统属性;

      5、String setProperty(String key, String value)

        设置指定键指示的系统属性;

      6、String getProperty(String key)

        该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见的属性名以及属性的作用如下表所示:

        

        Demo:

     1     public static void main(String[] args) {
     2         String javaVersion = System.getProperty("java.version");
     3         System.out.println("java的version:" + javaVersion);
     4         String javaHome = System.getProperty("java.home");
     5         System.out.println("java的home:" + javaHome);
     6         String osName = System.getProperty("os.name");
     7         System.out.println("os的name:" + osName);
     8         String osVersion = System.getProperty("os.version");
     9         System.out.println("os的version:" + osVersion);
    10         String userName = System.getProperty("user.name");
    11         System.out.println("user的name:" + userName);
    12         String userHome = System.getProperty("user.home");
    13         System.out.println("user的home:" + userHome);
    14         String userDir = System.getProperty("user.dir");
    15         System.out.println("user的dir:" + userDir);
    16     }

        7、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 }

      8、void setIn(InputStream in)

        重新分配“标准”输入流。 

      9、void setOut(PrintStream out)

        重新分配“标准”输出流。

      10、void setErr(PrintStream err)  

        重新分配“标准”错误输出流。 

         

  • 相关阅读:
    php出现“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误的一种情况,及解决方法
    nginx配置:支持phpfastcgi,nginx和phpcgi通信,部分nginx常量解释
    一步步构建大型网站架构(转/收藏)
    PHP中$_REQUEST中包含的数据,数据被覆盖问题
    使用linux时碰到的两个问题
    小谈字节序
    备忘录(1)
    [c#]如何编写需要授权才能使用的WebService?
    [XML]XPath小记
    [Misc]如何得知系统存在哪几个COM口?
  • 原文地址:https://www.cnblogs.com/niujifei/p/14534006.html
Copyright © 2020-2023  润新知