用户交互Scanner
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描对象,用于接受键盘数据
Scanner scanner =new Scanner(System.in);
//scanner.next()对输入有效字符之前遇到的空白会自动清除
//只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
//next()不能得到带有空格的字符串
if(scanner.hasNext()){
System.out.println("next()输出值:"+scanner.next());
}
//nextLine()以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
//可以获得空格
scanner = new Scanner(System.in);
if(scanner.hasNextLine()){
System.out.println("nextLine()输出值:"+scanner.nextLine());
}
//凡是属于IO流的类如果不关闭会一直占用资源,养成用完就关掉的习惯
scanner.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T6Bj0iWS-1615684353675)(C:\Users\秦敬卓\AppData\Roaming\Typora\typora-user-images\image-20210312120204061.png)]
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int i;
float f;
if(scanner.hasNextInt()){
i=scanner.nextInt();
System.out.println(i);
}
else{
System.out.println("输入的不是整数");
}
if(scanner.hasNextFloat()){
f=scanner.nextFloat();
System.out.println(f);
}
else{
System.out.println("输入的不是小数");
}
scanner.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Imks1IqC-1615684353677)(C:\Users\秦敬卓\AppData\Roaming\Typora\typora-user-images\image-20210312131310364.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DGPMhEQr-1615684353679)(C:\Users\秦敬卓\AppData\Roaming\Typora\typora-user-images\image-20210312131359420.png)]
个人总结
实例化一个Scanner对象之后需要用next()从键盘获取信息
nextInt()返回整形 nextLine()返回字符串 nextFloat()返回浮点型。
一次性输入多个类型,next()会依次检索并,当得到一个next()值后光标会从得到值的下一位开始进行下一个next()的检索。
浮点型。
一次性输入多个类型,next()会依次检索并,当得到一个next()值后光标会从得到值的下一位开始进行下一个next()的检索。
进行hasNext()时,会从光标开始的地方检索下一个输入信息,检索完成后,无论返回的是false还是true,光标会返回到开始的地方。