Scanner详解
一. 通用解释:
1. 在使用Scanner的时候需要先创建 Scanner 对象!
Scanner sc = new Scanner(System.in);
2. 一定要读取到有效字符程序才会结束!
二. .next(); 解释
import java.util.Scanner; public class Laugh { public static void main(String[] args) { //创建新的对象,用于接收用户键盘输入使用 开始认为是 “开启” 用户输入 Scanner sc = new Scanner(System.in); System.out.println("我是”.next“方式!"); System.out.print("请输入:"); //判断用户有没有输入字符串 可以不写🤣 判断刚刚开始没必要 if(sc.hasNext()){ //接收用户键盘输入 //1.1 重点:这个.next有一个特点,用户如歌在输入时有空格,则只会识别第一个空格以前的输入, String str = sc.next(); System.out.println("你输入的是:" + str); } //凡是有交互的程序都会牵扯IO,会占用内存,我们用完后需要清除掉,以便于释放内存;IO的话 后面会说到,这里简单说一下,咱们往U盘里面放数据就是例子,把电脑的文件转移到U盘里面,这就是一个IO流 sc.close(); } }
输出结果:
解释:我们通过Scanner输入的是 ” Hello Laugh, today is another day full of hope.“,
我是这样输入的,但是输出的只有 ”Hello“;
1. next() 对输入有效字符之前遇到的空格,会自动不计;
2. next() 只有输入有效字符后碰见的空格会被默认为结束;
3. next() 不能拿到带有空格的字符串"遇到空格会默认结束读取";
三. .nextLine();解释
import java.util.Scanner; public class Laugh1 { public static void main(String[] args) { //创建新的对象,用于接收用户键盘输入使用 开始认为是 “开启” 用户输入 Scanner sc = new Scanner(System.in); System.out.println("我是”.nextLine“方式!"); System.out.print("请输入:");//接收用户键盘输入 //1.1 重点:这个.nextLine有一个特点,用户如果在输入时有空格也没事,nextLine会识别用户输入的全部字符串 String str = sc.nextLine(); System.out.println("你输入的是:" + str); //凡是有交互的程序都会牵扯IO,会占用内存,我们用完后需要清除掉,以便于释放内存;IO的话 后面会说到,这里简单说一下,咱们往U盘里面放数据就是例子,把电脑的文件转移到U盘里面,这就是一个IO流 sc.close(); } }
输出结果:
解释:我们通过Scanner输入的是 ” Hello Laugh, today is another day full of hope.“,
我是这样输入的,输出的是 ” Hello Laugh, today is another day full of hope.“;
1. .nextLine() 它默认以 ”回车“ 为结束输入; //回车键盘标识 "Enter";
2. .nextLine()它会读取到用户输入的全部包括空格符号;
四. 补充:里面有很多控制输入类型! 如果要控制输入类型的话,最好加上我上面 .next() 里面的判断{sc.hasNext()},上面已标红!上面的"品红色"根据下图选择的类型变动就好!
争取摘到月亮,即使会坠落。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)