首页 > 其他分享 >Scanner对象

Scanner对象

时间:2023-01-02 20:55:21浏览次数:36  
标签:nextLine Scanner 对象 System next 输入 scanner

Scanner对象

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

基本语法

Scanner s = new Scanner(System.in);
  • 通过Scanner类的 next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
    • next():
        1. 一定要读取到有效字符后才可以结束输入
        2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
        3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
        4. $\color{red}{next()不能得到带有空格的字符串}$
    • nextLine():
        1. 以Enter为结束符,也就是说nextLine()方法返回输入回车之前的所有字符。
        2. 可以获取空白

next():

package com.earl.scanner;


import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");
        //判断用户是否输入字符串
        if (scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();//程序会等待用户输入完毕
            System.out.println("输入的内容为:"+str);
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,用完就关
        scanner.close();

    }
}

nextLine():

package com.earl.scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine()方式接收:");
        if (scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("输入的内容为:"+str);
        }
        scanner.close();
    }
}

标签:nextLine,Scanner,对象,System,next,输入,scanner
From: https://www.cnblogs.com/blogearl/p/17020492.html

相关文章

  • Spring 事务源码(三):事务相关对象的创建
    事务源码(二)中,已经分析了beanDefinition的加载,下面来创建对应beanDefinition的bean。1、PropertySourcesPlaceholderConfigurer创建占位符处理的beanPropertyS......
  • Spring AOP源码(四):创建被代理类的代理对象
    在AOP源码(三):创建AOP相关的Bean中,介绍了Spring创建AOP的Advisor、AnnotationAwareAspectJAutoProxyCreator的创建,其中被代理类的代理对象是如何创建的未做说明,下面来......
  • JavaScript 对象-三种创建对象的方式,遍历获取到对象。
    JavaScript对象-三种创建对象的方式,遍历获取到对象。目录JavaScript对象-三种创建对象的方式,遍历获取到对象。1.对象1.1什么是对象?1.2为什么需要对象2.创建对象的......
  • C++ | 3-需要函数对象的容器
    函数对象及其特化首先来讨论一下两个重要的函数对象,less和hash。们先看一下less,小于关系。在标准库里,通用的less大致是这样定义的:template<classT>structless......
  • vue2修改数组/对象的值后,页面视图不更新的解决方法
    1.对象刷新:通过使用vue.$set方法,实现动态添加/修改对象属性语法:vue.$set(对象名,键名,值)Vue.$set(this.postForm,'set_last_buyday','属性值')//第一种写法用vue.$sett......
  • 【C++高级编程】(三)面向对象设计
    本章内容:什么是面向对象的程序设计如何定义不同对象之间的关系抽象的重要性以及如何在设计中使用抽象()  3.1过程化的思考方式    3.2面向对象思想......
  • Python类与对象详解
    一、类和对象类的意思:种类、分类、类别对象是特征与技能的结合体,我可能有身高体重、而你也有身高体重,所以你会说你像我,但是你一定不会说你像阿猫阿狗。并且我和你其实就......
  • 漫谈C++内存和OpenGL各种缓冲对象(下)
    OpenGL的纹理缓冲对象创建、释放、使用    纹理用于给模型贴上颜色,类似于顶点缓冲也是GPU中的一块显存,用图片格式保存了CPU段传入的数据。纹理属性包括纹理大小、......
  • 面向对象
    面向对象oop面向对象的本质就是,以类的方式组织代码,以对象的组织(封装)数据。抽象三大特征:封装,继承,多态值传递与引用传递packageoop;//值传递publicclassDemo1{......
  • 第十二章《文件与I/O流》第4节:对象序列化
    ​对象序列化和反序列化是Java程序中经常涉及的操作,Java语言提供了专门用于序列化对象的ObjectOutputStream类和用于反序列化的ObjectInputStream类,这使得Java语言完成序列......