Scanner的基本语法为
Scanner s = new Scanner(System.in);
这是一个工具类语法,我们可以通过Scanner类来获取用户的输入,java.util.Scanner是Java5 的新特征
通过Scanner类的next()与nextLine()方法获取输入的字符串 ,在读取前我们需要使用hasNext()与hasNextline()判断是否还有输入的数据
next方式与nextline方式的区别如下:
简单来说:
-
next方式以空格为结束符号
-
nextline方式以回车为结束符号
import java.util.Scanner;
public class TextScanner01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据。
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");//先输出使用next方式接收这么一句话
//判断用户有没有字符串的输入字符串
if (scanner.hasNext()){//if里面就是scanner扫描是否有输出
//然后用String定一个变量str = scanner后的.next就是使用next方式接收用户输入的字符串
String str = scanner.next();
System.out.println("输入的内容为:"+str);//最后先输出输入的内容为,再加上变量str使用next方式接收到的字符串
}
//凡是属于IO流的,用完之后一定要关上,因为如果不关上就会一直挂在这里不结束占用内存。
scanner.close();
}
}
这里输出空格后的内容就会失去
import java.util.Scanner;
public class TextScanner02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextline方式:");
if(scanner.hasNext()){
String str = scanner.nextLine();
System.out.println("用户输入的内容为:"+str);
scanner.close();
}
}
}
这里输出的内容是以回车为结束的可以输出huwenbiao 小聪明,而上面的只能输出huwenbiao 小聪明不能输出
import java.util.Scanner;
public class TextScanner02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextline方式:");
if(scanner.hasNext()){
String str = scanner.nextLine();
System.out.println("用户输入的内容为:"+str);
scanner.close();
}
}
}
当然不使用if语句也可以直接输出内容
任何IO语句使用完成后一定要结束