JavaSE(基础篇)——用户交互Scanner

简介: JavaSE(基础篇)——用户交互Scanner

目录


1、Scanner对象

2、next & nextLine

3、其他方法


1、Scanner对象

之前我们学的基本语法中我们并没有实现程序和人的交互,但是 Java 给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。

下面是创建 Scanner 对象的基本语法:

Scanner s = new Scanner ( System . in );


2、next & nextLine

我们先来用next来接受一下输入的内容:


import java.util.Scanner;
public class java1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("next的接收方式:");
        String str = scanner.next();
        System.out.println("输入内容"+str);
        //注:凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉.就好像你接水完了要关 水龙头一样.很多下载软件或者视频软件如果你不彻底关,都会自己上传下载从而占用资源,你就会觉得 卡,这一个道理.
        scanner.close();
}

输出:

image.png


我们可以看到输出并不是一个完整的hello world。


这是为什么呢?我们先把问题留着,再来看看nextLine函数的结果。


输入:


import java.util.Scanner;
public class java1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("nextLine的接收方式:");
        String str = scanner.nextLine();
        System.out.println("输入内容"+str);
        //注:凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉.就好像你接水完了要关 水龙头一样.很多下载软件或者视频软件如果你不彻底关,都会自己上传下载从而占用资源,你就会觉得 卡,这一个道理.
        scanner.close();
}

我们来看看结果:


image.png

我们可以看到用了nextLine之后所输入的字符全部被输出了,这又是为什么呢?


接下来我们来对比next和nextLine之间的区别吧!


两者区别:

next():

1 、一定要读取到有效字符后才可以结束输入。

2 、对输入有效字符之前遇到的空白, next() 方法会自动将其去掉。

3 、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

4 、 next() 不能得到带有空格的字符串。

nextLine():

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

2 、可以获得空白。


3、其他方法

如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持 ,我们可以来看一下。


import java.util.Scanner;
public class java1 {
    public static void main(String[] args) {
        int a;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入整数:");
        a  = scanner.nextInt();
        System.out.println("输入整数内容为:"+a);
        scanner.close();
}

输出:

image.png



浮点型和上述例子类似,我就不在举例说明了,也希望这篇文章能给大家带来帮助!!!  


目录
相关文章
|
3月前
|
Java 程序员
Java 一个 Scanner.nextInt 造成的奇怪问题及分析解决过程
Java 一个 Scanner.nextInt 造成的奇怪问题及分析解决过程
|
5月前
|
小程序 Java
28. 【Java教程】Scanner 类
28. 【Java教程】Scanner 类
123 7
|
6月前
|
存储 Java
Java代码居然可以构建聊天系统
Java代码居然可以构建聊天系统
49 0
|
存储 Java
使用Java Scanner类与用户交互的实例详解
使用Java Scanner类与用户交互的实例详解
|
存储 Java 数据处理
Java使用Scanner类实现用户输入与交互
Java使用Scanner类实现用户输入与交互
Java Scanner 类 (获取用户的输入)
Java Scanner 类 (获取用户的输入)
|
Java 程序员 数据安全/隐私保护
java中Scanner类里大部分的方法
java中Scanner类里大部分的方法
69 0
|
Java
JAVA_Scanner方法获得用户输入
JAVA_Scanner方法获得用户输入
68 0
|
安全 Java 数据安全/隐私保护
【JavaSE专栏40】Java常用类 Scanner 解析,C++能输入的数据,Java也能
【JavaSE专栏40】Java常用类 Scanner 解析,C++能输入的数据,Java也能
240 0
java202302java学习笔记第四天-用户交互scanner之1
java202302java学习笔记第四天-用户交互scanner之1
52 0
java202302java学习笔记第四天-用户交互scanner之1