现在的位置: 首页 > 综合 > 正文

java.lang.System

2013年12月13日 ⁄ 综合 ⁄ 共 1959字 ⁄ 字号 评论关闭

答: 系统类即java.lang.System是一个特殊的类,它是Object类的子类。其最主要的特点是使用前不需要用new语句进行初始化,因为在系统启动时,已自动对系统类进行初始化,分配了相应的内存区。系统类是专门为用户程序而设置的,它为用户程序提供当前环境下的系统资源。

     系统类主要提供下述功能:
     ①标准的输入/输出
     System类通过三个对象System.in,System.out和System.err提供输入/输出功能和出错指示功能。这三个对象的名字在表示上比较特殊,只是为了便于程序员调用。

     System.in最主要的功能是提供方法 read()用来读字符。若没有读到字符,则返回值为-1。
     System.out最主要的功能是提供print(),println()和write()三个方法。print()方法和println()方法的功能基本相同,都是打印字符串,只是后者自动在字符串后面加一个换行符而前者没有加。所以,下面二个语句是等效的:

         System.out.println(“We are students.”);

         System.out.print(“We are students.\n”);
由于 print语句没有换行功能,所以在字符串后加“\n”,增添了换行动作。
     在使用println()方法和print()方法时,程序中不需要创建System类的对象,而是直接用如上语句调用这两个方法。
     println()方法也可以这样使用:
         String sir= “We are students.”;
         System.out.println(str);
这两个语句和上述语句功能相同。
     在以后的章节中,我们将看到许多例子使用println()方法。
     事实上,对于系统类的任何方法,都可以这样调用。这无疑为应用程序使用系统资源带来很多方便。
     下面的例子中既用了read方法,又用了println方法:

          1  class Count{
          2      public static void main(String sir[]){
          3           int c=0;
          4           while(System.in.read()! == -1)
          5                 c++;
          6           System.out.println(“There are”+ c +”chars”);
          7      }
          8  }

上述程序中,第4行语句用read()方法读取字符。只要返回值不是-1,即读到了字符,则使 c加1。第6行语句则打印出信息,两对引号中是要打印的字符串,中间的“c”是程序运行中统计的字符数。

     System.err的功能是为用户程序显示出错信息。
     ②系统属性的获取和设置
     系统类提供了getProPerty方法用来获取系统的属性,包括Java版本号、操作系统号和用户目录等。
     比如:
         System.getProperty(“OS.name”);
上述语句可获得当前系统的操作系统名字。
     又比如:
         system.getProperty(“Java.version”);
上述语句执行后返回Java版本号。
     如果在getProgerty的入口参数中采用下列关键字,将获得相应属性:
     user.dir 用户目录
     user.name 用户名
     path.seParator 当前操作系统的路径分隔符
     OS.name 当前操作系统的名字
     Java.version Java版本号
     Java.name Java安装目录
     File.separator 文件分隔符
     System类的setProperties方法用来设置或修改系统的属性。不过,经过用户程序修改的系统属性是暂时性的,如果系统重新启动,那么,系统属性又将是其原始属性了。

     比如:
         System.setProperties(p);
上述语句将系统属性按对象P的内容来设置,p是此前已经创建的一个属性对象。
     由于一般程序员并不需要设置系统属性,所以,这里不再对此作详述。如果作为系统管理员需要这方面的技术,可查阅相关的资料。
     ③获取当前时间
     System类提供currentTimeMillis()方法来获取当前时间,这个功能常用在一些系统管理程序中。比如,笔者从事的科研项目“Java远程教学系统”要统计用户在系统上的学习时间,便是在用户开始学习和结束时分别获取当前时间,再据此计算学习时间。

     ④退出系统
     System类提供exit方法使程序退出系统。就是说,如程序中用如下语句:
         System.exit()
则退出程序,也退出Java解释器。 

抱歉!评论已关闭.