Java System类,System类的成员变量详解

TK 2020-09-25 16:44:47 java常见问答 8135

下面的话要给大家讲到的就是Java System类的相关内容,主要会讲到System类的成员变量,一起来看看文章吧。

System类有着三个静态成员变量:

1、PrintStream out(标准输出流,此流已打开并准备接收输出数据,一般的情况下,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标)例如:

编写一行输出数据的典型方式:(在这当中,println方法是属于流类PrintStream的方法,而不是System中的方法)

System.out.println(data);

2、InputStream in(标准输入流,此流已打开并准备提供输入数据,一般的情况下,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源)

3、PrintStream err(标准的错误输出流,此流语法和System.out类似,不需要提供参数就可输出错误信息,也可以用来输出用户指定的其他信息,包括变量的值)

下面来看一下示例:

编写一个Java程序,使用本节介绍的System类实现从键盘输入字符并显示出来。(代码中,System.in.read()语句读入一个字符,read()方法是InputStream类拥有的方法,变量c必须用int类型而不能用char类型,否则会因为丢失精度而导致编译失败)

import java.io.IOException;
public class Test06
{
    public static void main(String[] args)
    {
        System.out.println("请输入字符,按回车键结束输入:");
        int c;
        try
        {
            c = System.in.read(); // 读取输入的字符
            while (c != '\r')
            { // 判断输入的字符是不是回车
                System.out.print((char) c); // 输出字符
                c = System.in.read();
            }
        }
        catch (IOException e)
        {
            System.out.println(e.toString());
        }
        finally
        {
            System.err.println();
        }
    }
}

程序假如输入汉字将会不能够正常输出,假如,要正常输出汉字,那么就要把System.in声明为InputStreamReader类型的实例,最终在try语句块中的代码为:(语句InputStreamReader in=new InputStreamReader(System.in,"GB2312") 声明一个新对象in,它从Reader继承而来,这个时候,就可以读入完整的Unicode码,显示正常的汉字)

InputStreamReader in = new InputStreamReader(System.in, "GB2312");
c = in .read();
while (c != '\r')
{
    System.out.print((char) c);
    c = in .read();
}

以上就是对于System类的成员变量的一个介绍了,你都清楚了吗?更多相关java基础知识,请继续来奇Q工具网进行了解。

推荐阅读:

Java Byte类,Byte类的构造方法和常用常量介绍

Java Double类,Double类的常用常量介绍

Java Integer类,Integer类的常用方法介绍