Java结构之Scanner

Scanner对象

Scanner类用于获取用户的输入

基本语法

Scanner s = new Scanner(System.in);

通过 Scanner类的next()与nextLine()方法获取输入的字符串,在读取前需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

 方法一使用next方法接收 (nextLine方法同理)

 Scanner scanner =  new Scanner(System.in);

      System.out.println("使用next方式接收:");

      //判断用户有没有输入字符串
      if (scanner.hasNext()){
          String str = scanner.next();
          System.out.println("输出的内容为:"+str);
      }
      //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
      scanner.close();
    }
}

区分注意点

next ():

  1. 一定要读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇到的空白, next ()方法会自动将其去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  4. 结论即:next()不能得到带有空格的字符串。

nextLine():

  1. 以 Enter 为结束符,也就是说 nextLine ()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。
扩展
hasNextInt() 从键盘接收判断输入的内容是否为整数
hasNextFloat()同理判断是否为小数 

通常scanner只接收从键盘上接收一次,如果想要实现循环不断从键盘上接收到用户的指令,可使用while(true)死循环,并加以一定的判断去跳出循环(如用户输入了某个字符就break)
posted @ 2022-03-17 21:46  凹尾狸花鱼  阅读(77)  评论(0)    收藏  举报