利用Scanner类获取键盘的输入、讨论next()和nextLine()方法的详细区别

Scanner类获取键盘的输入

java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数,它也是java最强大的一种接收方式,也是最常用的一种方式,它可以接收任意数据类型,

Scanner是一个基于正则表达式的文本扫描器——可以从文件,输入流,字符串中解析出基本类型和字符串类型的值。Scanner类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据。——《疯狂java讲义》李刚

以下是利用Scanner类获取键盘的输入

import java.util.Scanner;
public class Test { 
	 public static void main(String[] args) {
	 	//创建Scanner类对象
	 	//System.in表示标准化输入,与我们通常使用的System.out.println()相对应,前者表示键盘输入,后者表示键盘输出;
	  	Scanner sc = new Scanner(System.in);
	  	String str = sc.next();//利用next()方法获得输入
	  	String str = sc.nextLine();//利用next()方法获得输入
	  	System.out.println(str);
 	}
}

next()和nextLine()方法的区别

next()方法一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其忽略,只有在输入有效字符之后,next()方法才将之后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串:如图,输入了带空格的字符串,next()方法自动忽略掉了HelloWorld!后面的123
在这里插入图片描述

nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45797022/article/details/104962787
今日推荐