Java基础-Scanner的HasNext,Next,HasNextLine,NextLine的区别

1、HasNext和HasNextLine会要求用户在控制台输入字符,然后回车,把字符存储到Scanner对象中,不会赋值到变量中,可以用于判断输入的字符是否符合规则要求。

HasNext会以空格为结束标志,空格后的数字会抛弃掉。

HashNextLine会以Enter为结束标志

2、Next和NextLine是直接从Scanner中获取HasNext和HasNextLine存储起来的值给到变量中。如果前面没有HasNext或者HashNextLine获取值,也可以自己获取用户在控制台中输入的字符。

3、建议先用HashNext或者HasNextLine获取用户在控制台要求输入的字符。再用Next或NextLine从Scanner中获取值到程序变量中。目的是做一重字符非法的判断

1 public static void main(String[] args) {
2        Scanner scanner = new Scanner(System.in);
3
4       System.out.println("测试scanner方法的使用逻辑");
5        System.out.println("请输入一个整数");
6
7       if(scanner.hasNextInt()){
8           System.out.println("进来了吗");
9           int i=scanner.nextInt();
10           System.out.println("获得输入的数值是"+i);
11       }else{
12            System.out.println("不是整数");
13       }
14   }

解析1:第七行:如果用户输入是整型,会进入8行,第9行获取的值是hasNextInt预先存储到scanner的值

解析2:第七行:如果用户输入的不是整型,则会跳到12行中执行

Java基础-Scanner的HasNext,Next,HasNextLine,NextLine的区别

上一篇:java实现播放音乐-JLayer


下一篇:Python - 装饰器