这样总结主要是为了方便自己去记忆,排版不太好,有错的地方请帮忙指出,需要的可以点赞收藏,谢谢
Scanner
作用:接收用户输入——让用户输入
导包:
第一种:在package下导入包:import java.util.Scanner
——快捷键(ctrl+shift+O)
第二种:输入Scanner回车,得到一个所有的包(java.util.Scanner)
常用输入流:
如何使用Scanner
利用Scanner做一个简易计算器(只做加法/减法)
*1和2合并为3
* 1、Scanner scan=new Scanner(System.in);
* 2、int num=scan.nextInt();
* 3、int num=new Scanner(System.in).nextInt();
最好写成Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
总结Scanner:
Scanner类:
使用java.util包。import java.util.Scanner;
构造Scanner类对象,它附属于标准输入流System.in。 Scanner scan=new Scanner(System.in);
常用的next()方法系列:
nextInt():输入整数
nextLine():输入字符串
nextDouble():输入双精度数
next():输入字符串(以空格作为分隔符)。
next()和nextLine()比较:
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。所以next方法不能得到带空格的字符。nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
简记:nextLine()——遇见Enter键就结束,可以输出带空格的字符
next()——在输入有效字符后读取到空格键,Tab键和Enter键都会结束,在没有读取到有效字符时不读取,自动忽略,不会输出带空格的字符
next()方法和nextLine()方法的连用
将两个语句交换位置,如下图:
解释:没有输入第二个字符串就直接返回了,nextLine()自动读取了被next()去掉的Enter作为他的结束符,所以没办法给s2从键盘输入值。
解决的办法是:在每一个next()、nextDouble()、nextFloat()、nextInt()等语句之后加一个nextLine()语句,将过滤掉被next()去掉的Enter结束符。