Scanner
new 新生的意思
System.out输出
System.in 输入
-
Scannery对象
-
基本语法:
Scanner s = new Scanner(System.in);
-
通过Scanner类的next(下一个)与nextline(下一行)方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextline()判断是否还有输入的数据。
package Scnner;
import java.util.Scanner;
public class Day01 {
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
//接收用户的输入,并把它封装scanner
System.out.println("使用next方式接收:");
//判断用户有没有输出字符串
if (scanner.hasNext()==true) {
//这里默认==true,不用谢也可以,但是还是建议写
String str = scanner.next();
//使用next方式接收
System.out.println("输出的内容为:"+str);
}
}
}
- next()
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者借宿符。
- next()不能得到带有空格的字符串
-
nextLine():
-
以enter为结束符,也就是说nextLine()方法返回的输入回车之前的所有字符。
-
可以获得空白
package Scnner; import java.util.Scanner; public class Day02 { public static void main(String[] args) { //从键盘来接收数据 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); //判断是否还有输入 if (scanner.hasNextLine()){ //等待用户去输入 String str = scanner.nextLine(); System.out.println("输出的内容:"+str); } scanner.close(); } }
-
当然也可以不要if去判断
if (scanner.hasNextLine())
package Scnner;
import java.util.Scanner;
public class Day03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
String str = scanner.nextLine();
System.out.println("输出的内容:"+str);
scanner.close();
}
这样也是可以的
Scanner输入内容理解(重点)
我个人是这样理解的
输入输出我们只要记住3行代码就行
System.out.println("请输入数据:");
String str = scanner.nextLine();
System.out.println("输出的内容:"+str);
第一行代码是标题
请输入数据:
第二行代码: 是我们键盘所输出的所有内容,知道你按下回车键(enter)之后,把所有内容变成一个变量保存再str里面
第三行代码:则是等待第二行代码运行完成后,将输出内容+str(你键盘敲下的所有字符,也就是内容) 一起显示出来
如下图
第一行为第一行代码
第二行hello world 为第二行代码,也就是你键盘敲下的内容
第三行则是等待第二行代码运行完成后,输出的内衣+键盘敲下的所有字符一起显示出来
注意
//凡是IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
scanner.close();
//IO流 输入输出流