
文章目录
- 📑前言
- 一、输入输出
- 1.1 输出到控制台
- 1.2 从键盘输入
- 二、猜数字游戏
- 2.1 所需知识:
- 2.2 游戏规则:
- 2.3 完整代码
- 2.4 代码解析
- 🌤️全篇总结
📑前言
本文将介绍如何在Java中进行控制台的输入输出操作,并通过一个简单的猜数字游戏示例来展示分支语句、循环语句的运用。让我们一起来探索这些有趣的编程技巧吧!
一、输入输出
1.1 输出到控制台
基本语法:
System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 System.out.printf(format, msg); // 格式化输出
- println 输出的内容自带 \n, print 不带 \n
- printf 的格式化输出方式和 C 语言的 printf 是基本一致的
代码示例:
System.out.println("how are you"); int a = 88; System.out.printf("%d",a);
格式化字符串:
转换符 类型 举例 d 十进制整数 (“%d”, 100) 100 x 十六进制整数 (“%x”, 100) 64 o 八进制整数 (“%o”, 100) 144 f 定点浮点数 (“%f”, 100f) 100.000000 e 指数浮点数 (“%e”, 100f) 1.000000e+02 g 通用浮点数 (“%g”, 100f) 100.000 a 十六进制浮点数 (“%a”, 100) 0x1.9p6 s 字符串 (“%s”, 100) 100 c 字符 (“%c”, ‘1’) 1 b 布尔值 (“%b”, 100) true h 散列码 (“%h”, 100) 64 % 百分号 (“%.2f%%”, 2/7f) 0.29% 这里罗列的表格没必要背下来,用到的时候根据需要查一下,多敲几遍基本忘不了 。
1.2 从键盘输入
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner; // 需要导入 util 包 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); sc.close(); // 注意, 要记得调用关闭方法 // 执行结果 请输入你的姓名: 张三 请输入你的年龄: 18 请输入你的工资: 1000 你的信息如下: 姓名: 张三 年龄:18 工资:1000.0
使用 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 = " + sum / num); sc.close(); // 执行结果 10 40.0 50.5 ^Z sum = 150.5 avg = 30.1
注意事项 :
- 当循环输入多个数据的时候, 使用 ctrl + z 来结束输入
- Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl+ d
二、猜数字游戏
2.1 所需知识:
分支语句,循环语句,输入输出
2.2 游戏规则:
系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 “低了”, 如果输入的数字比该随机数大, 提示 “高了” , 如果输入的数字和随机数相等, 则提示 “猜对了”
2.3 完整代码
import java.util.Random; import java.util.Scanner;; class Test { public static void main(String[] args) { Random random = new Random(); // 默认随机种子是系统时间 Scanner sc = new Scanner(System.in); int toGuess = random.nextInt(100); // System.out.println("toGuess: " + toGuess); while (true) { System.out.println("请输入要输入的数字: (1-100)"); int num = sc.nextInt(); if (num toGuess) { System.out.println("高了"); } else { System.out.println("猜对了"); break; } } sc.close(); } }
2.4 代码解析
- 导入必要的库:
- Random:用于生成随机数。
- Scanner:用于从控制台读取用户输入。
- 定义Test类:
- 包含了main方法,这是Java程序的入口点。
- 初始化:
- 创建一个Random对象,用于生成随机数。默认情况下,它的种子是系统时间。
- 创建一个Scanner对象,用于从控制台读取用户输入。
- 生成要猜测的数字:
- 使用random.nextInt(100)生成一个0到99(包含0,不包含100)之间的随机整数。
- 游戏循环:
- 无限循环(while(true))直到用户猜对数字。
- 提示用户输入一个数字(1-100)。
- 读取用户输入的数字。
- 判断用户输入的数字与要猜测的数字之间的关系:
- 如果用户输入的数字小于要猜测的数字,输出“低了”。
- 如果用户输入的数字大于要猜测的数字,输出“高了”。
- 如果用户输入的数字等于要猜测的数字,输出“猜对了”并退出循环。
- 关闭Scanner:
- 在游戏结束后,关闭Scanner对象,释放与之关联的资源。
🌤️全篇总结
看到这里,你学已经会了如何在Java中进行简单的输入输出操作,包括输出到控制台和从键盘输入。同时,通过一个有趣的猜数字游戏示例,你也了解了如何运用分支语句和循环语句来实现一个小游戏。希望这些基础知识能够帮助你更好地理解Java编程,并为你未来的学习之路打下坚实的基础。继续努力,编程之路将会越发精彩!
- 导入必要的库: