Java控制台输入scanner的方法及代码详解

 更新时间:2022年11月06日 15:23:18   作者:bjpowernode  
在本篇内容里小编给大家分享的是一篇关于Java控制台输入scanner的方法及实例代码,有需要的朋友们可以参考下。

Java控制台输入scanner的方法有哪些?脚本之家的小编来告诉大家。

含义

读取控制台数据

常用的方法

Scanner scanner = new Scanner(System.in); //创建Scanner对象

scanner.nextLine(); //读取一行内容,以换行符为结束,

它返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

也就是说输入一串字符,它就可以接受所有字符包括空格,但是遇到回车Enter就会停止录入,只录入前面的东西。

scanner.next(); //读取内容,以空格或tab为结束

它会自动地消除有效字符之前的空格,只返回输入的字符,不会得到带空格的字符串。

也就是说如果输入了一串字符,到了有空格的时候就会停止录入,只录入空格前面的东西,空格后面的东西(包括分隔的空格都会保留在缓存区域)

除了空格以外,Tab键和Enter键都被视为分隔符(结束符)。

scanner.nextInt(); //读取内容,以空格或tab为结束【输入的内容必须是int,否则报错】

scanner.nextFloat(); //读取内容,以空格或tab为结束【输入的内容必须是float,否则报错】

scanner.nextDouble(); //读取内容,以空格或tab为结束【输入的内容必须是double,否则报错】

案例

 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); 
        System.out.println("请输入内容1");
        String content = scanner.nextLine();
        System.out.println(content);
        System.out.println("请输入内容2");
        content = scanner.next();
        System.out.println(content);  
        System.out.println("请输入年龄");
        int age = scanner.nextInt();
        System.out.println(age); 
        System.out.println("请输入成绩");
        float score = scanner.nextFloat();
        System.out.println(score);
    }

案例二

 public static void main(String[] args) { 
        Scanner scanner = new Scanner(System.in); 
        System.out.println("输入age");
        int age = scanner.nextInt();   //空格、tab
        //scanner.nextLine();          //思考为什么不加这样会有问题??? 
        System.out.println(age); 
        System.out.println("输入内容");
        String content =scanner.nextLine(); //读取一行
        System.out.println(content);
    }

知识点扩展:

Scanner的使用

JDK给我们提供了成千上万个类供我们直接使用,而Scanner就是这众多类里的一个最常用的一个类,既然它是一个类,我们使用它的方法和使用我们自己写的类的方法基本一致。

方法基本如下:

1.导包:就是指出需要使用的类在哪一个位置,格式一般为import 包名称.类名称,Scanner导包语句便为import java.util.Scanner对于和当前类属于同一个包的时候,导包语句可以不写,JDK里提供的类仅仅只有java.lang下的类不需要导包。

2.创建:按照格式创建对象,格式一般为 类名称对象名 = new 类名称(),用上面的Scanner来创建就是Scanner sc = new Scanner(),这里的sc就是我们新创建的一个对象名,在新建的Scanner对象里,我们需要传入参数,如果是我们需要接收键盘上的数据,那这个参数就是System.in,即Scanner sc = new Scanner(System.in)

3.使用。根据对象名来使用成员变量和成员方法,next是获得从键盘上输入的数据,String str = sc.next()就是把键盘输入的数据存到变量里面去,我们从键盘输入的数据的类型默认为字符串,想要得到其他类型的数据,我们可以在next后面添加相应的类型,比如nextInt()就是将输入的字符串转为整数。简单来说,键盘输入的内容就是next()方法的返回值。

到此这篇关于Java控制台输入scanner的方法及代码详解的文章就介绍到这了,更多相关Java控制台输入scanner的方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • idea不使用maven如何将项目打包

    idea不使用maven如何将项目打包

    使用IDEA 2021版本,不借助Maven进行打WAR包的步骤是:首先点击Project Structure,然后点击Artifacts,接着选择需要的打包类型,设置好包的名称,最后进行打包,这种方法适用于不使用Maven进行项目管理的情况
    2024-09-09
  • IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题(图文详解)

    IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题(图文详解)

    这篇文章主要介绍了IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • MyBatis根据条件批量修改字段的方式

    MyBatis根据条件批量修改字段的方式

    这篇文章主要介绍了MyBatis根据条件批量修改字段的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate

    从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate

    本文会介绍从一个最基本的java工程,到Web工程,到集成Spring、SpringMVC、SpringDataJPA+Hibernate,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • 详解用maven搭建springboot环境的方法

    详解用maven搭建springboot环境的方法

    本篇文章主要介绍了详解用maven搭建springboot环境的方法,这里整理了详细的代码,非常具有实用价值,有需要的小伙伴可以参考下
    2017-08-08
  • java+socket实现简易局域网聊天室

    java+socket实现简易局域网聊天室

    这篇文章主要为大家详细介绍了java+socket实现简易局域网聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • SpringCloud Bus组件的使用配置详解

    SpringCloud Bus组件的使用配置详解

    bus称之为springcloud中消息总线,主要用来在微服务系统中实现远端配置更新时通过广播形式通知所有客户端刷新配置信息,避免手动重启服务的工作,这篇文章主要介绍了SpringCloud Bus组件的使用,需要的朋友可以参考下
    2022-03-03
  • 解决使用@Value(${×××))从properties文件取值的坑

    解决使用@Value(${×××))从properties文件取值的坑

    这篇文章主要介绍了解决使用@Value(${×××))从properties文件取值的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java细数IO流底层原理到方法使用

    Java细数IO流底层原理到方法使用

    IO主要用于设备之间的数据传输,Java将操作数据流的功能封装到了IO包中,这篇文章主要给大家介绍了关于Java新手学习之IO流简单使用的相关资料,需要的朋友可以参考下
    2022-05-05
  • 关于Filter中获取请求体body后再次读取的问题

    关于Filter中获取请求体body后再次读取的问题

    这篇文章主要介绍了关于Filter中获取请求体body后再次读取的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03

最新评论