java中打印变量最常用system.out.println(),读取输入用scanner类;需注意换行符处理、tostring()重写、中文编码及异常捕获。

Java 中打印变量结果最常用的是 System.out.println(),它通过标准输出流(System.out)将内容输出到控制台;而读取用户输入则通常借助 Scanner 类,它从标准输入流(System.in)读取数据。
用 System.out 打印变量值
System.out 是 PrintStream 类的实例,提供了多种打印方法:
-
println():输出后自动换行,适合单个变量或简单调试 -
print():不换行,适合拼接多个输出 -
printf():支持格式化输出,类似 C 的printf
例如:
int age = 25;String name = "Alice";
System.out.println("姓名:" + name + ",年龄:" + age);
System.out.printf("姓名:%s,年龄:%d%n", name, age);
用 Scanner 读取控制台输入
需要先导入 java.util.Scanner,再创建 Scanner 对象绑定 System.in:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
Scanner sc = new Scanner(System.in);
System.out.print("请输入姓名:");
String inputName = sc.nextLine(); // 读取整行
System.out.print("请输入年龄:");
int inputAge = sc.nextInt(); // 读取整数
sc.close(); // 使用完建议关闭,避免资源泄漏
注意:nextInt() 不会消费换行符,后续若调用 nextLine() 可能跳过输入,可加一句 sc.nextLine() 清空缓冲区。
打印对象时要注意 toString() 方法
直接打印自定义对象(如 new Person("Tom", 30))默认输出类名+哈希码。要让输出有意义,需在类中重写 toString() 方法:
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
这样 System.out.println(person) 就会输出可读内容。
简单但易忽略的细节
- 中文乱码问题:确保 IDE 和终端编码一致(推荐 UTF-8)
- 输出缓冲:
System.out默认带缓冲,紧急输出可用System.out.flush() - 异常处理:Scanner 读取时遇到非法输入(如输入字母却调用
nextInt())会抛出InputMismatchException,建议配合try-catch或hasNextXxx()预判
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










