微软的system类库和java_跟我学java编程—Java常用类库System类

前面的程序代码中,都会用到System类,来完成字符和数值的输出及输入。System是Java核心类库之一,提供了标准设备的输入与输出功能,默认情况下输出设备是计算机的显示器,输入设备是计算机键盘。System类结构如下图所示:

6c34564e408acaad8b66bdc8bf8eb7aa.png图 5-1 System类结构图

从图中可以看出,System类提供的成员(属性)和方法都是静态类型,静态类型的方法和成员(属性)在类被加载后就可以调用,无需实例化。图例没有全部列出System类提供的方法,有感兴趣地可以到oracle官方提供的Java API查看。Java SE7 API地址为:https://docs.oracle.com/javase/7/docs/api/。

System类的成员属性

System类提供了三个成员属性,分别是err、out、in。其中err和out属于PrintStream类,PrintStream类主要用于输出各种类型数据的格式化形式输出;in属于InputStream类,InputStream类主要用于程序通过不同的数据源获取输入数据,关于PrintStream类和InputStream类的详细介绍建议到oracle官方提供的Java API官网查看。

示例1:利用System. err输出程序错误信息

在D盘Java目录下,新建“SystemSample.java”文件。用记事本打开“SystemSample.java”文件,输入以下代码:

1ca483047318661c125b3b76e6eed404.png

代码结构分析:程序主要完成两个整型数值相除,并输出结果到屏幕。程序在main方法体内声明了temp1、temp2、result三个整型变量,其中temp1被赋值为0,temp2被赋值为10,result用于存储结果。考虑到两个整数相除时,如果除数为0,Java程序执行时抛出异常错误(Java编译过程发现不了除数为0的错误),因此设置了try…catch…语句。try语句块的内容是正常的程序执行代码,在try语句块中,如果语句抛出了异常,那么try块后面的代码将不再执行,将直接进入catch异常处理代码块。

应用try…catch…语句增强程序的健壮性,是非常好的编码习惯,当预判程序可能会出现不可控的异常错误时,应使用try…catch…语句。通过catch语句的Exception类,可以获取程序异常错误信息。

编译“SystemSample.java”文件,在命令行窗口输入“javac SystemSample.java”并执行命令,编译通过后,在命令行窗口输入“java SystemSample”运行Java程序,命令行窗口显示如下信息:

f8618e06700a45dbae467140436ceff7.png图 5-2 System.err输出错误信息

从输出结果可以看出,程序出现了异常,导致产生异常的原因是“by zero”被零除。

System类的成员方法

System类提供了多种方法针对系统进行不同的操作。例如:exit()方法可以退出当前运行的程序,currentTimeMillis()可以获取当前系统时间,getProperty可以获取当前系统信息。

示例2:利用System. exit()退出当前运行的程序

在D盘Java目录下,新建“SystemExitSample.java”文件。用记事本打开“SystemExitSample.java”文件,输入以下代码:

d6a36854e7d78ce885a02ccc652c3625.png

代码结构分析:

“import java.util.*;”语句用于导入java.util类库中的所有类,import是java语言的关键字,应用该关键字可以导入Java核心类库及外部类文件。程序导入java.util主要是使用Scanner类从命令行窗口获取输入的命令。

程序在“SystemExitSample”类体内声明了类属性message,被赋值“退出程序请输入quit”,用于程序开始运行时,显示提示信息,提醒用户输入“quit”命令,可以退出程序。

在“main()”方法体内,首先调用System.out输出已定义的字符串变量,然后声明“Scanner”类型的sc,应用new运算符(运算符一节讲述)实例化Scanner类,并赋值给sc。最后,利用while循环语句(循环语句一节讲述),等待用户输入退出命令,获取用户输入后,判断输入的是否是“quit”命令,如果是则调用System.exit()方法退出程序。需要注意的是,exit()方法要求传入一个参数,传入的参数为0表示正常退出。

编译“SystemExitSample.java”文件,在命令行窗口输入“javac SystemExitSample.java”并执行命令,编译通过后,在命令行窗口输入“java SystemExitSample”运行Java程序,命令行窗口显示如下信息:

f2869a660e730ea2414dea18fc741e2a.png图 5-3 退出当前运行的程序执行结果

从上图运行情况可以看出,输入错误的命令后,程序并没有退出,而是继续提示用户“请输入退出命令”,输入正确的退出命令后,程序退出运行。

示例3:利用getProperty()方法显示当前系统信息

在D盘Java目录下,新建“SystemPropertySample.java”文件。用记事本打开“SystemPropertySample.java”文件,输入以下代码:

6b50fc2179e646c415d7f6f313b1a6dc.png

代码结构分析:

程序主要完成获取操作系统名称并输出到屏幕上的任务。

语句“String operationSystem = System.getProperty("os.name");”也是程序编码常用的方式,语句等号左边是变量声明部分,语句等号右边是赋值部分,赋值部分可以是表达式、也可以是单个的数值、字符串等、也可以是调用方法返回的数值或字符串等数据。需要注意的是赋值语句两边的数据类型要保持一致。getProperty方法要求传入一个字符串参数,根据传入的参数,getProperty返回不同的系统信息,传入“os.name”字符串,可以获取当前操作系统的名称。

编译“SystemPropertySample.java”文件,在命令行窗口输入“javac SystemPropertySample.java”并执行命令,编译通过后,在命令行窗口输入“java SystemPropertySample”运行Java程序,命令行窗口显示如下信息:

73640f72de1bd2daadd766ed5847c1c1.png

从上图运行情况可以看出,程序运行后,获取了正确的操作系统名称。

当程序需要通过向控制台(Windows命令行窗口或其它命令行窗口)输出信息,或通过控制台获取用户输入时,可以使用System类的out和in属性输出信息和获取输入。

061d4cb26eeae9f4fd3570b1deae8305.png

(1)System类的三个主要成员属性是()

A.err、in、sc

B.err、in、out

C.in、out、int

D.out、exit、in

(2)System类可以退出程序的方法是()

A.console()

B.exit(int status)

C.getProperty(String key)

D.gc()

(3)下面的那条语句会出现程序异常()

A.int num = 3+5;

B.int num = 3*5;

C.int num = 3-5;

D.int num = 3 / 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值