初识java(五):java的输入与输出
目录
本文章内容大纲:
本文介绍了Java中的输入输出操作和猜数字游戏实现。输出部分讲解了System.out.print/println/printf三种方法,输入部分演示了使用Scanner类读取不同类型数据的方法,包括字符串、整数和浮点数,并展示了如何处理多组输入。猜数字游戏部分详细说明了如何用Random类生成随机数,通过比较用户输入与随机数实现游戏逻辑,包括"大了"、"小了"和"猜对了"三种提示。文章还提供了相关API文档参考链接,并强调了输入结束快捷键(Windows用ctrl+z,Linux/Mac/IDEA用ctrl+d)和随机数生成范围注意事项。
一: 输出
1.输出到控制台
基本语法:
这里有三种写法,一个是换行的后缀 ln,加了这个就相当于是C语言里面的\n ,它们都是换行的意思,如果不写就是不换行,还有一种写法就是和C语言一模一样的写法,就是使用printf来打印
看代码
public static void main(String[] args) {
System.out.print("你好");
System.out.println("我不好");
System.out.println("你很帅");
System.out.println("谢谢");
int c=10;
System.out.printf("%d\n",c);
}
输出:
2.格式化字符串
这里和C语言的格式化打印差不多
如图:

这个表格没必要记住,⽤到的时候根据需要查⼀下就⾏了.
二:输入
1.从键盘输⼊
使⽤Scanner读取字符串/整数/浮点数,使⽤时需要导⼊该类(该过程为导包,后续会讲到)
看代码:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的名字");
String name = sc.nextLine();
System.out.println("姓名是:"+name);
}
输出结果:
还能是其他类型的写法:
Scanner sc = new Scanner(System.in);
System.out.println("请输⼊你的姓名:");
String name = sc.nextLine();
System.out.println("请输⼊你的年龄:");
int age = sc.nextInt();
System.out.println("请输⼊你的⼯资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:+age+"\n"+"⼯资:"+salary);
看图表解析:
2.如何处理多组输⼊?
⽰例:使⽤Scanner循环读取N个数字,并求取其平均值
看代码:
public static void main(String[] args) {
//多组输入输出的写法
//⽰例:使⽤Scanner循环读取N个数字,并求取其平均值
Scanner sc = new Scanner(System.in);
int sum = 0;
int num = 0;
while (sc.hasNextInt()) {
int tmp = sc.nextInt();
sum += tmp;
num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + (float)sum / num);
sc.close();
}
输出,这里我们输了20和10这两个数字:
画图解析:

注意事项:
1. 当循环输⼊多个数据的时候,使⽤ctrl+z来结束输⼊(Windows上的CMD中使⽤ctrl+z,Linux/ Mac/IDEA的控制台上使⽤ctrl+d).在后续oj题当中,遇到IO类型的算法题,有各种循环输⼊的要 求,后续给⼤家介绍。
2. Scanner常⻅⽅法参考帮助⼿册:
三:猜数字游戏
1.介绍
游戏规则:
系统⾃动⽣成⼀个随机整数(1-100),然后由⽤⼾输⼊⼀个猜测的数字.如果输⼊的数字⽐该随机数⼩, 提⽰"低了",如果输⼊的数字⽐该随机数⼤,提⽰"⾼了",如果输⼊的数字和随机数相等,则提⽰"猜 对了".
在此之前先给大家介绍一个java里面生成随机的关键字是谁----Random
这里要生成随机数,和C语言有点区别,C语言srand和rand,一个种子库,一个固定种子,srand通修改系统内部里面的种子,进而达到随机的目的
如何在java里面,只有Random,不需要各种调用和修改,在idea里面它会自动处理这些,你只需要调用这个srand就行了
同样的,它和Scanner也需要 util(头文件)----- import java.util.Random;
给大家看一下,java的随机数是怎么生成的
注意一下:
方法生成的范围遵循 “左闭右开” 原则,即 [0, bound)。
| 你的代码写法 | 实际生成的范围 | 说明 |
|---|---|---|
nextInt(100) |
0 ~ 99 | 默认从0开始,不包含上限 |
nextInt(100) + 1 |
1 ~ 100 | 这是你想要的 |
nextInt(50) + 50 |
50 ~ 99 | 生成50个数,从50开始 |
public static void main(String[] args) {
//猜数字的实现
Random random = new Random(); //生成随机数
Scanner sc = new Scanner(System.in); //用户输入
int toGuess = random.nextInt(100); //生成1-100的随机数
System.out.println(toGuess);
}
输出随机数字59:

2.代码的实现
现在我们就正式的写出猜数字的全部代码
public static void main(String[] args) {
//猜数字的实现
Random random = new Random(); //生成随机数
Scanner sc = new Scanner(System.in);
int num = random.nextInt(100); //生成1-100的随机数
System.out.println(num); //显示我们生成的随机数
while (true){
int guess= sc.nextInt(); //用户输入
if(guess>num){
System.out.println("大了");
} else if (guess<num) {
System.out.println("小了");
}else{
System.out.println("恭喜你猜对了");
break;
}
}
}
结果:
注意事项:
1.⽣成随机数常采⽤⼯具类:java.util.Random来⽣成,
2.参考⽂档:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Random.html
以上就是我们的全部的输入输出的内容了!!!!
更多推荐

所有评论(0)