Java标准输入输出流(in/out)

在这里插入图片描述

前言

Java通过系统类System实现标准输入/输出的功能,在Java中输入输出数据一般(图形化界面例外)要用到标准输入输出流

  • System.in 标准输入:通常指从键盘输入数据
  • System.out 标准输出:通常指把数据输出到控制台或者屏幕

在这里插入图片描述

标准输入流

System.in:表示标准的输入流,用来从读取从键盘录入的数据,本质上就是一个InputStream

in 是System类中的一个属性
在这里插入图片描述
InputStream是它的编译类型,运行类型则是BufferedInputStream(缓冲字节输入流)

public class InputAndOutput {
    
    
    public static void main(String[] args) {
    
    
        System.out.println(System.in.getClass());
    }
}

执行此代码可以看到,System.in的运行类型为:
class java.io.BufferedInputStream

由此可知它是按照包装流的方式进行输入的

System.in作为InputStream类的对象实现标准输入,可以调用它的read方法来读取键盘数据。
在这里插入图片描述
获取用键盘输入常用的两种方法

  1. 通过 Scanner
Scanner input = new Scanner(System.in); 
String s = input.nextLine(); 
input.close();
  1. 通过 BufferedReader
BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 
String s = input.readLine();
  • setIn(InputStream in):用于重新分配标准输入流
    在这里插入图片描述

标准输出流

System.out:表示标准输出,用来往控制台输出数据

System.out.println();//我们经常使用的输出语句,就是一个标准的输出流

out 是System类的静态成员字段,类型为PrintStream。

在这里插入图片描述

OutputStream是它的编译类型,运行类型也是OutputStream

在这里插入图片描述
System.out作为PrintStream打印流类的的对象实现标准输出,可以调用它的print、println或write方法来输出各种类型的数据。

  • setOutsetOut(PrintStream out):用于重新分配标准输出流
    在这里插入图片描述

方法较多,具体方法可查看JDK文档或百度

猜你喜欢

转载自blog.csdn.net/qq_72935001/article/details/128696225