基本概念
一般获取用户的输入通常采用 Scanner类。其基本语法如下:
scanner s = new scanner(System.in);
通过scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要用hasNext()和hasNextLine()判断用户是否还在输入数据。如下例所示:
package CM.scanner;
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
//创建一个扫描器对象,用来接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
//判断是否还在输入数据
if(scanner.hasNext()){
//用next接受
String str = scanner.next();
System.out.println("你输入的是:"+str);
}
scanner.close();
}
}
/*
输入:Hello World
----------------
输出:Hello
*/
package CM.scanner;
import java.util.Scanner;
public class Scanner2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
//判断是否还在输入数据
if(scanner.hasNextLine()){
//用next接受
String str = scanner.nextLine();
System.out.println("你输入的是:"+str);
}
scanner.close();
}
}
/*
输入:Hello World
----------------
输出:Hello World
*/
得处next与nextLine的区别如下表:
- | next() | nextLine() |
---|---|---|
1 | 读取到有效字符后才结束输入 | - |
2 | 有效字符之前的空白都会自动被去除 | - |
3 | -有效字符串后的空白才作为分隔符或结束符 | 以Enter作为结束符 |
4 | 不能识取带空白的字符串 | 可以识取空白 |
基本类型
next()语句除了本身类型外,还包含nextInt()、nextDouble()、nextChar()等等,其用法与next()一样,只是识别的数据类型不同。
强力推荐!本文学习教程网址https://www.kuangstudy.com/