Scanner对象


作用

我们可以通过Scanner类来获取用户的输入


所属包

​ java.util.Scanner java 工具类下


基本语法

Scannner s=new Scanner(System.in)

常用方法

  • next()、nextLine()获取输入的字符串
  • hasNext()、hasNextLine()一般在获取之前都要用这两个方法判断是否还有输入的数据

代码示例

    //创建一个扫描对象,用于接收键盘数据
Scanner scanner=new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方式接收
String str=scanner.next();//程序等待用户输入完毕
System.out.println("输入的内容为:"+str);
} //凡是属于I/O流的类如果不关闭就会一直占用资源,要养成良好习惯用完就关掉
scanner.close();

输出结果

使用next方式接收:
hello world
输入的内容为:hello

可以发现只输出了hello,没有输出world,换成nextline试一下


 Scanner scanner = new Scanner(System.in);

 System.out.println("使用nextLine方法接收");

 //判断是否还有输入
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
} scanner.close();

输出结果

使用nextLine方法接收
hello world
输入的内容为:hello world

可以发现正确了,接下来我们来看一下next()和nextline()的区别


next()和nextline()的区别

  • next()

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

    1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符串。

    2. 可以获得空白。


狂神说Java

Day004 Scanner对象的更多相关文章

  1. Java基础之一组有用的类——使用Scanner对象(TryScanner)

    控制台程序. java.util.Scanner类定义的对象使用正则表达式来扫描来自各种源的字符输入,并把输入显示为各种基本类型的一系列标记或者显示为字符串. 默认情况下,Scanner对象读取标记时 ...

  2. Scanner对象及其获取数据出现小问题和解决方案

    Scanner类简介: Java 5添加了java.util.Scanner类,我们可以通过Scanner类来获取用户输入.它是以前的StringTokenizer和Matcher类之间的某种结合.由 ...

  3. Scanner对象

    Scanner对象 通过Scanner类来获取用户的输入. 使用需导入 java.util.Scanner 包. 基本语法: Scanner s = new Scanner(System.in); n ...

  4. Day5 Scanner对象学习.

    Scanner对象 Java.until.Scanner 我们可以通过Scanner类来获取用户的输入. 基本语法: Scanner s = new Scanner (System . in) ; 通 ...

  5. Java基础之(七):Scanner对象

    用户交互Scanner Scanner对象 调用java.util.Scanner 可以通过Scanner类来获取用户的输入 基本语法: Scanner scanner = new Scanner(S ...

  6. scanner对象,顺序及选择结构

    scanner对象 基本语法: Scanner s = new Scanner(System.in) 使用next()和nextLine()读取前,使用hasNext()和hasNextLine()来 ...

  7. Day004 Scanner进阶

    Scanner进阶 例1 Scanner scanner = new Scanner(System.in); //从键盘接收数据 int i = 0; float f = 0.0f; System.o ...

  8. Java常用API(Scanner,Random)匿名对象

    API:即Application programming Interface,应用编程接口. Java中封装了许许多多的API供用户使用,Scanner与Random便是其中之一,API实际就是类,已 ...

  9. java 中的Scanner

    java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...

随机推荐

  1. 记一次jstack命令定位问题

    今天天气不错,但是赶上恶意加班心情就不爽,怀着不爽的心情干活,总能创造出更多的问题,这不,今天就自己挖了一个坑,自己跳进去了,好在上来了 经过是这样的,开始调试canal采集binlog时,由于添加了 ...

  2. git分支管理--rebase&merge详解

    目录 分支合并 git merge --squash [分支名] 注意点 git rebase [分支名] git rebase git rebase --abort git rebase -i gi ...

  3. wget 爬取网站网页

    相应的安装命名 yum -y install wget yum -y install setup yum -y install perl wget -r   -p -np -k -E  http:// ...

  4. html Ajax连接.NET Ashx

    Html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...

  5. 【LeetCode】52. N-Queens II(位运算)

    [题意] 输出N皇后问题的解法个数. [题解] 解法一:传统dfs回溯,模拟Q放置的位置即可,应该不难,虽然能通过,但是时间复杂度很高. 解法二:位运算大法好! 首先要明白这道题里两个核心的位运算 1 ...

  6. ch2_8_2求解幸运数问题

    思路:f(x)进行十进制每位相加,g(x)进行二进制每位相加,比较是否相等即可. 小明同学学习了不同的进制之后,拿起了一些数字做起了游戏.小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中 ...

  7. Qt信号槽源码剖析(一)

    大家好,我是IT文艺男,来自一线大厂的一线程序员 大家在使用Qt开发程序时,都知道怎么使用Qt的信号槽,但是Qt信号槽是怎么工作的? 大部分人仍然不知道:也就是说大家只知道怎么使用,却不知道基于什么原 ...

  8. 【软件推荐】利用Stylus修改网页显示字体

    Windows下,字体的显示总是让人抓狂.抗锯齿效果让汉字显得粗细不均,甚至无法对齐的情况. 为了改善网页的显示效果,可以利用Stylus进行字体的替换 Stylus可以在Google的商店下载,由于 ...

  9. Java代码度量分析工具:DesigniteJava简介

    前言 在Java面向对象课程的学习过程中,我们需要使用度量工具来分析自己程序的代码结构.受OO课程组以及前辈们博客提醒,笔者找到了DesigniteJava这款软件,现对此软件进行简单的说明. 一.D ...

  10. 设计模式学习笔记(二):UML与面向对象设计原则

    1 UML 1.1 UML UML(Unified Modeling Language)是统一建模语言,1997年11月UML1.1版本提交给OMG并正式通过,成为建模语言的个那个也标准.2003年6 ...