输入输出的真谛:Scanner 用得好,System.out 你也不怕丢!

👋 你好,欢迎来到我的博客!我是【菜鸟不学编程】
   我是一个正在奋斗中的职场码农,步入职场多年,正在从“小码农”慢慢成长为有深度、有思考的技术人。在这条不断进阶的路上,我决定记录下自己的学习与成长过程,也希望通过博客结识更多志同道合的朋友。
  
  🛠️ 主要方向包括 Java 基础、Spring 全家桶、数据库优化、项目实战等,也会分享一些踩坑经历与面试复盘,希望能为还在迷茫中的你提供一些参考。
  💡 我相信:写作是一种思考的过程,分享是一种进步的方式。
  
   如果你和我一样热爱技术、热爱成长,欢迎关注我,一起交流进步!

🤔 前言

嘿,兄弟姐妹们,今天我们来聊聊 Java 中最常用的两个“输入输出(I/O)神器”——ScannerSystem.out。没错,你可能平时就直接用 Scanner 输入个数据,输出个结果,结果一搞就是万年“Hello World”,但是——你真的了解这些操作背后的“套路”吗?

我们先不急着写代码,先来讨论一下这个问题:输入输出,它到底有多重要?你可以不懂数据库,也能写程序;可以不懂多线程,也能写程序,但如果你不懂怎么处理用户输入程序输出,那就像个盒子没盖上,掉了!用户怎么跟你的程序互动呢?没有输入输出,那程序就是“死”的。

📝先聊聊 System.out:让程序给人“回话”

你一定对 System.out 这个东西耳熟能详了,对吧?毕竟咱们在 Java 中最常见的输出操作就是用它:

System.out.println("Hello, World!");

它像个话筒,站在程序的“舞台”上,把程序的“心声”输出到控制台,让用户能够看到。

但你知道吗,System.out 是“全能选手”,它不仅能让你输出文本,还能输出各种数据类型!例如:

int age = 30;
double price = 99.99;
System.out.println("年龄: " + age);
System.out.println("商品价格: " + price);

输出:

年龄: 30
商品价格: 99.99

看到了吧,它不仅能帮你打印字符串,还能把变量的值一并打印出来,简直是个输出“千面神”。

🌟【小技巧】:

有时候,我们想输出不换行。怎么办?来,System.out.print 送给你:

System.out.print("年龄: ");
System.out.print(age);

结果:

年龄: 30

这样就不再换行!很适合在一行输出多个内容的时候。


🎤Scanner:让用户输入也变得酷炫!

让我们来聊聊 Scanner——这个能让用户输入内容的超级助手。你没看错,它不仅能从控制台获取输入,还是多功能输入工具,能读取字符串、数字、日期等各种类型的数据!

🚀如何使用 Scanner?

首先,记得要导入 Scanner 类:

import java.util.Scanner;

然后,你就能用它读取用户输入的内容了!

🧑‍💻代码示例:基本输入

import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 输入整数
        System.out.print("请输入年龄:");
        int age = scanner.nextInt();
        
        // 输入字符串
        System.out.print("请输入名字:");
        String name = scanner.next();

        System.out.println("你输入的名字是:" + name + ",年龄是:" + age);
        
        scanner.close(); // 记得关闭扫描器!
    }
}

💥看个效果:

请输入年龄:25
请输入名字:Tom
你输入的名字是:Tom,年龄是:25

上面的代码,你输入了25Tom,然后程序自动接收并打印输出!超爽!

🧠【小知识】:

  • nextInt() 用来接收整数
  • next() 用来接收一个单词(没有空格)
  • 如果你想接收包含空格的整个字符串,可以使用 nextLine() 方法:
System.out.println("请输入你的地址:");
String address = scanner.nextLine(); // 获取整行

🧐Scanner的坑,你踩过没?

你以为**Scanner**一直这么“完美”?别忘了,它也有一些需要注意的小细节:

⚠️坑1:nextInt() + nextLine() 组合,坑坑坑

有很多小伙伴遇到过这个问题:nextInt() 读取一个数字后,再接 nextLine() 时,总是会“跳过”输入,导致程序读不到输入。这是因为 nextInt() 会留下换行符(\n)没吃掉,导致 nextLine() 直接吃掉了这个换行符!

🛠️解决方法:

Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
scanner.nextLine(); // 吃掉上次留下的换行符
String str = scanner.nextLine();

⚠️坑2:关闭Scanner的时机

关闭 Scanner 对象(scanner.close())时,一定要小心。因为如果你在 System.in 上关闭了它,程序后续可能无法再进行输入操作。只要用完了 Scanner,关掉它就好,别在“最前面”就关掉。


💡总结:输入输出大法好!

工具用法优点注意事项
System.out用于输出数据到控制台简单易用,直接输出println() 输出换行,print() 不换行
Scanner用于从用户输入中获取数据可以读取多种类型的数据使用 nextLine() 处理空格,合理关闭 Scanner

🧙‍♂️结尾话:“你用对Scanner和System.out了吗?”

说实话,很多初学者学了好多Java语法,却从没真正理解过输入输出的基本操作,直到遇到问题才懵了。所以,今天我想提醒大家:

掌握输入输出,是每个开发者走向高阶的第一步

你不懂输入输出怎么去和用户互动?怎么获取数据?那你写的程序只会是一堆孤独的代码!你还会继续用 System.out.println("Hello World") 这类死板的方式吗?

别忘了,你是程序的“发言人”,Scanner 和 System.out 才是你和世界沟通的桥梁!


💬 想要深入了解更多的Java I/O技巧,或者你在实际使用中遇到的输入输出问题,评论区打个“👨‍💻”,我来帮你解答!


如果你觉得这篇文章对你有帮助,或者有任何想法、建议,欢迎在评论区留言交流!你的每一个点赞 👍、收藏 ⭐、关注 ❤️,都是我持续更新的最大动力!

我是一个在代码世界里不断摸索的小码农,愿我们都能在成长的路上越走越远,越学越强!

感谢你的阅读,我们下篇文章再见~👋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值