一、Java 控制台输出:3 种写法全覆盖
Java 输出到控制台主要有,区别只在和,日常开发随便用。
讲解 Java 基础输入输出与方法。内容包括三种控制台输出方式,使用 Scanner 进行键盘输入及多组数据读取,以及猜数字游戏实战。重点介绍方法定义格式、调用规则、重载机制和递归原理,通过闰年判断、阶乘计算等示例说明核心知识点,帮助初学者掌握代码复用技巧。

Java 输出到控制台主要有,区别只在和,日常开发随便用。
| 写法 | 效果 | 适用场景 |
|---|---|---|
System.out.println(msg); | 输出 + 自动换行 | 最常用,打印一行内容 |
System.out.print(msg); | 输出不换行 | 连续输出不换行 |
System.out.printf(format, msg); | 格式化输出 | 对齐、补位、保留小数 |
// 换行输出
System.out.println("Hello Java");
// 不换行输出
System.out.print("姓名:");
System.out.print("张三");
// 格式化输出(和 C 语言 printf 一致)
int age = 20;
double score = 95.5;
System.out.printf("年龄:%d,成绩:%.1f\n", age, score);
💡 小提示:格式化符不用死记,用到查表即可,常用 %d(整数)、%f(小数)、%s(字符串)。
Java 键盘输入必须用 Scanner 类,步骤固定:导包 → 创建对象 → 读取数据 → 关闭。
import java.util.Scanner;Scanner sc = new Scanner(System.in);next()/nextInt()/nextFloat()/nextLine()sc.close();import java.util.Scanner;
public class InputDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = sc.nextLine();
System.out.print("请输入年龄:");
int age = sc.nextInt();
System.out.print("请输入工资:");
double salary = sc.nextDouble();
// 输出结果
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("工资:" + salary);
sc.close();
}
}
先 nextInt() 再 nextLine() 会跳过输入!原因:nextInt()只读数字,不读回车,nextLine()会直接读到空字符串。✅ 解决:尽量先读字符串,或用两个 nextLine() 转类型。
做算法题时经常需要循环输入多组数据,用 hasNextXxx() 判断是否还有输入。
Ctrl + ZCtrl + Dimport java.util.Scanner;
public class MultiInput {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
int count = 0;
// 循环读取整数
while (sc.hasNextInt()) {
int num = sc.nextInt();
sum += num;
count++;
}
System.out.println("总和:" + sum);
System.out.println("平均值:" + (sum * 1.0 / count));
sc.close();
}
}
结合随机数 + 输入 + 循环判断,写一个超经典的猜数字小游戏。
import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
Random random = new Random();
// 生成 1-100 随机数
int target = random.nextInt(100) + 1;
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("请猜数字(1-100):");
int num = sc.nextInt();
if (num < target) {
System.out.println("低了");
} else if (num > target) {
System.out.println("高了");
} else {
System.out.println("猜对了!");
break;
}
}
sc.close();
}
}
方法就是封装好的代码片段,等于 C 语言的函数,好处:复用、简洁、模块化。
修饰符 返回值类型 方法名 (参数列表) {
// 方法体
return 返回值;
}
✅ 新手固定写法:public static 开头
void) 不能接收public class MethodDemo {
// 判断闰年方法
public static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
public static void main(String[] args) {
System.out.println(isLeapYear(2024)); // true
System.out.println(isLeapYear(2025)); // false
}
}
方法重载:同一个类中,方法名相同,参数列表不同,返回值不影响重载。
public class OverloadDemo {
// int 相加
public static int add(int a, int b) {
return a + b;
}
// double 相加
public static double add(double a, double b) {
return a + b;
}
// 三个数相加
public static double add(double a, double b, double c) {
return a + b + c;
}
public static void main(String[] args) {
System.out.println(add(1, 2)); // 调用 int 版本
System.out.println(add(1.5, 2.5)); // 调用 double 版本
System.out.println(add(1.1, 2.2, 3.3));// 调用三参数版本
}
}
❌ 错误重载:只有返回值不同,不算重载
// 编译报错!
public static int add(int a, int b) { ... }
public static double add(int a, int b) { ... }
递归 = 方法调用自身,必须有递归出口,否则死循环栈溢出。
public class RecursionDemo {
// 求 n!
public static int factorial(int n) {
// 递归出口
if (n == 1) {
return 1;
}
// 递归公式
return n * factorial(n - 1);
}
public static void main(String[] args) {
System.out.println(factorial(5)); // 120
}
}
| 模块 | 核心点 |
|---|---|
| 输出 | println 换行 /print 不换行 /printf 格式化 |
| 输入 | Scanner+nextXxx(),注意先数字后字符串坑 |
| 多组输入 | while(sc.hasNextXxx()),Ctrl+Z/D 结束 |
| 方法 | public static+ 返回值 + 参数,值传递 |
| 重载 | 同名 + 参数不同,返回值无关 |
| 递归 | 出口 + 公式,避免深度过大 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online