当前位置:网站首页>标准输入输出流(System.in,System.out)
标准输入输出流(System.in,System.out)
2022-07-30 05:41:00 【想买CT5的小曹】
1.标准输入流(System.in)
首先这个标准输入流的默认输入设备是键盘,数据源是键盘,下面看一个简单的程序。
package fuxi;
import java.io.IOException;
import java.io.InputStream;
public class StandardInputOutput {
public static void main(String[] args) throws IOException {
InputStream in = System.in;
int read = in.read();
System.out.println((char) read);
}
}
这一段程序是通过键盘录入读取,但是读取的只有一个。

要是想读取多个可以设置一个while循环,对录入的进行判断是否是-1.
package fuxi;
import java.io.IOException;
import java.io.InputStream;
public class StandardInputOutput {
public static void main(String[] args) throws IOException {
InputStream in = System.in;
int read;
while ((read = in.read()) != -1)
//一开始是打印int类型的,用char进行强制转换
System.out.print((char) read);
}
}

在这里可以看见的是录入的字母或者数字都可以正常打印,但是录入要是中文就是不行,出现乱码,因为这个InputStream是字节流
,为了解决这个问题你可以用转换流进行转换。
package fuxi;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class StandardInputOutput {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
System.out.println(input);
}
}

在这里可以看见用转换流使用成功了,这里可以输入字母数字中文也可以输入不会乱码,原因在于BufferedReader,他继承于Reader,这是字符输入流。

2.标准输出流(System.out)
package fuxi;
import java.io.*;
public class StandardInputOutput {
public static void main(String[] args) throws IOException {
PrintStream out = System.out;
out.print(true);
out.print(99);
out.print("我爱你啊你爱我蜜雪冰城甜蜜蜜");
out.println("------");
out.println(99);
out.close();
}
}

这是可以看到是换行和没有换行的区别
print就是不换行而println就换行了。
边栏推荐
猜你喜欢
随机推荐
C语言自定义类型一网打尽(结构体、位段/位域、枚举、联合体)
EOF的用法——while(scanf(“%d“,&num)!=EOF)
npm run serve starts error npm ERR Missing script "serve"
JDBC programming of MySQL database
uni-app:关于自定义组件、easycom规范、uni_modules等问题
P3 元宝第五单元笔记
Qt实现一个重复文件检测小工具(原理:通过md5校验)
零基础C语言“函数”教程,有手就行
CTF之misc-图片隐写
P3 元宝的笔记
Socket通信编程
Dcat Admin 安装
String类型字符串获取第一次或者最后一次出现的下标
async/await用法详解
CTFSHOW命令执行【web29-web124】未完待续
【文献阅读】Age Progress/Regression by Conditional Adversarial Autoencoder 基于条件对抗自编码器(CAAE)的老化/去龄化方案
卷王的第一篇博客——编程学习的规划
CTF之misc-日志分析
js 去除掉对象中的null,‘‘,[],{}
CTF之misc-其他类型隐写



![[网鼎杯 2020 青龙组]AreUSerialz](/img/f2/9aef8b8317eff31af2979b3a45b54c.png)
![Art-template 中文文档[详细篇]](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)


