Scanner sc = new Scanner(System.in);定义一个扫描器对象,可以从键盘获取数据
next()和nextInt()方法
通过sc.next()来获取输入的内容,但是不可以获得空格和空格之后的数据。
一定要读取到有效字符后才可以按Enter键结束输入;
nextline()方法
通过sc.nextline()可以获取到带有空格的输入数据。
不一定读取到有效字符,按Enter就可以结束输入;
hasNext()和hasNextLine()方法
判断扫描的位置是否有输入,这一行也可以去掉。
如果要输入int或double类型的数据,在Scanner 类中同样有支持,但是在输入之前最好先使用 hasNextXxx() 方法验证是否还有输入以及输入类型是否正确,再使用 nextXxx() 来读取。
Scanner.close()的必要性
使用Scanner(system.in)时,使用完毕后,一定要关闭扫描器,因为system.in属于IO流,一旦打开,它一直在占用资源,因此使用完毕后切记要关闭。
package com.scanner.demo;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
/**
* 1.next()获取的是空格之前的字符,带有空格和空格之后的字符将不会获取
* 2.一定要读取到有效字符后才可以结束输入
* 3.next()不能得到带有空格的字符串
*/
Scanner sc = new Scanner(System.in);//定义一个扫描器方法
System.out.println("请输入内容:");
if(sc.hasNext()){//判断扫描的位置是否有输入,//判断是否有字符可以去掉
String str=sc.next();//用扫描器里面的一个方法next()来获取内容
System.out.println(str);//输出内容
}
sc.close();//执行完毕之后关闭扫描器
}
}