欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 第五章 输入输出

第五章 输入输出

2025/1/21 17:29:59 来源:https://blog.csdn.net/huipeng926/article/details/143895148  浏览:    关键词:第五章 输入输出

前提:本章所提到的都是针对控制台的输入输出

其他输入输出如针对网卡和文件等进行读写后续才会讲到

一  输出

1.java中输出到控制台:

使用System.out这个out直接对应着控制台显示器设备,实现标准输出(标准输出是操作系统自带的,在不同的编程语言有不同的实现方式,java中通过对象实习)

2.不同的输出函数:

printfln:打印后换行

printf:

(1)可与C语言相同进行格式化打印

(2)也可与printfln打印规则一样

二  输入

1.java中实现标准化输入:System.in

这里的in直接对应控制台的键盘,实现标准输入

2.问题:Java自身提供的类System.in的读取操作不好用仅有能用的read操作一次也只能读取一个字节

3.解决:借助辅助的类Scanner

原理:还是使用System.in的read操作,只不过在内部实现了其多次读取和拼接的过程

4.格式:

Scanner scanner =new Scanner (System.in)

分析:Scanner是类,scanner是对象名,new创建一个新对象,System.in表示其是从控制台去输入内容,读取数据(因为Scanner不仅能从控制台读取,还能从文件,网卡等,所以需要说明)

5.注意事项:

(1)使用Scanner类的使用要import来引用

例如:import Java.util.Scanner

区别:类似于C语言的#include

实现的目的类似

实现方式不同:java是对引用内容进行格式化分析,C语言相当于把头文件的内容直接粘贴到#的位置了

(2)字符串读取的时候读取到空白符就会停止

补充:空白符:回车符,制表符,垂直制表符,空格,翻页符

解决:使用nextLine直接读取一整行,当其遇到回车符才会停止读取

6.多组输入问题:

(1)方式:使用Scanner提供的hasNext系列,判断是否有有对应数据可读

(2)原理:操作系统负责硬件(键盘),按下键盘按键,操作系统在感知你按了那个按键,操作系统会根据你按的按键内容,把对应的字符传到对应的对应的程序中

程序判断你是否有输入内容是以你按下enter键为标准的,在没有按下enter之前系统都一直在等待,只有真正·输入enter键时,才能得到结果

(3)结论:

(i)等这样的操作,在输入中是客观存在的

(ii)如果has在前面已经等过了那么next系列可不再等了

(iii)等待等到真正输入enter才会结束(block)

(4)格式:while(scanner.hasNextInt())其内部的条件是真是假取决于其能否真正读取到对应类型的数

如何结束:当遇到EOF(文件读取结束的标志,是自动的)或读取的数类型不匹配

注:hasNext是判断读取的是否为一个字符串,此时只有利用EOF才能进行终止

手动:Windows:ctrl+z Mac/Linux:ctrl+d

注:在idea的内置终端中,也是需要用ctrl+d

三  猜数字游戏(补充)

1.随机数的生成

(1)创建一个Random类的对象(注意引用时也要import说明)

(2)引用对象中的next方法(java中已经内置了时间戳作为种子)      

2.真随机和伪随机

真随机:所有的数字都是以相同的几率出现的

伪随机:是遵循计算一系列复杂的数学公式得到来实现(几率与真随机近似相等)

真随机的实现消耗成本很大,伪随机基本上能满足日常的需求,甚至在一些表现上比真随机更好(比如游戏中的技能爆发几率)         

3.获取时间戳

(1)方式:System.currentTimeMillis()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com