笔试的时候,往往会有输入内容,输出内容,基本上借助Scanner输入函数来操作。
一、Scanner简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
小结:
Scanner是控制台输入函数,键盘输入内容通过Scanner类的相管方法接受,然后赋值给变量。
二、Scanner用法
(1)接收控制台单个元素的输入
① Scanner是util下的,所以导入包:import java.util.Scanner;
② 创建对象实例:Scanner scanner = new Scanner(System.in);
③ 具体方法如下:
第一列是方法返回的类型,第二列是方法介绍。
next()和nextLine()之间的区别:
①next()以空格作为结束符号,只读取输入直到空格。它不能读两个由空格或符号隔开的单词。
public class TestScanner { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); String b = scanner.next(); System.out.println(b); } }
// 输出结果 请输入: ADAD ASDASDASD ADAD
②nextLine()以回车作为结束符号,读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。
public class TestScanner { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); String b = scanner.nextLine(); System.out.println(b); } }
请输入: dadas adada dadas adada
(2)接收控制台多个元素的输入,如果有的话
while循环中的条件,判断是否还有输入
举例如下:
public class TestScanner { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); while (scanner.hasNext()) { if (scanner.hasNextInt()) { int i = scanner.nextInt(); System.out.println("i是" + i); } else { System.out.println("i不是整数"); break; } } } }
请输入: 121 i是121 222 i是222 333 i是333 qwewq i不是整数