首页 > 其他分享 >Scanner对象

Scanner对象

时间:2024-03-07 16:22:50浏览次数:16  
标签:Scanner 对象 System next str 输入 scanner

前言

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

    • 基本语法代码

      Scanner str = new Scanner(System.in);
      
  • 通过 Scanner next()nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext()hasNextLine() 判断是否还有输入的数据

next() 与 nextLine()

  • next()

    • 代码举例

      import java.util.Scanner;
      
      public class Demo01 {
          public static void main(String[] args) {
              //创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);
      
              System.out.println("请输入数据:");
      
              //判断用户有没有输入字符串
              if (scanner.hasNext()){
                  //使用next方式接收
                  String str = scanner.next();
                  System.out.println("输出的内容为:" + str); //hello
              }
      
              //凡是属于IO流的类不关闭会一直占用资源,要养成好习惯用完就关掉
                  //IO流:与电脑打交道的输入输出类
              scanner.close();
          }
      }
      
    • 返回结果

      请输入数据:
      hello world //自由输入
      输出的内容为:hello //丢失空格之后的字符串(world)
      
      进程已结束,退出代码为 0
      
    1. 一定要读取到有效字符后才可以结束输入
    2. 对输入有效字符之前遇到的空格,next() 方法会自动将其去掉
    3. 只有输入有效字符后才将其后面输入的空格作为分割符或者结束符
    4. next() 不能得到带有空格的字符串
  • nextLine()

    • 代码举例

      import java.util.Scanner;
      
      public class Demo02 {
          public static void main(String[] args) {
              //从键盘接收数据
              Scanner scanner = new Scanner(System.in);
      
              System.out.println("请输入数据:");
      
              //判断是否还有输入
              if (scanner.hasNextLine()){
                  String str = scanner.nextLine();
                  System.out.println("输出的内容为:" + str);
              }
      
              //关闭IO流的类占用
              scanner.close();
          }
      }
      
    • 返回结果

      请输入数据:
      hello world //自由输入
      输出的内容为:hello world //全部接收
      
      进程已结束,退出代码为 0
      
    1. 以 回车键 为结束符,也就是说 nextLine() 方法返回的是输入回车之前的所有字符
    2. 可以接收空格

常用写法举例

  • 代码语法

    import java.util.Scanner;
    
    public class Demo01 {
        public static void main(String[] args) {
            //创建一个扫描器对象,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
    
            System.out.println("请输入数据:");
    
            //判断用户有没有输入字符串
            if (scanner.hasNext()){
                //使用next方式接收
                String str = scanner.next();
                System.out.println("输出的内容为:" + str); //hello
            }
    
            //凡是属于IO流的类不关闭会一直占用资源,要养成好习惯用完就关掉
                //IO流:与电脑打交道的输入输出类
            scanner.close();
        }
    }
    
  • 返回结果

    请输入数据:
    123 ABC AJun 阿俊学Java
    输出的内容为:123 ABC AJun 阿俊学Java
    
    进程已结束,退出代码为 0
    

标签:Scanner,对象,System,next,str,输入,scanner
From: https://www.cnblogs.com/ajunjava/p/18059157

相关文章

  • 判断一个对象是否为空对象,判断一个对象中是否有空值
    问题:做贵州项目时,遇到判断如果后台返的数据是空,则下面的代码不展示,平常遇到的都是后台返回数组,判断数组的长度是否大于1即可,这次是对象方案://判断一个对象是否为空对象JSON.stringify(obj)=='{}'//判断一个对象中是否有空值functionhasEmptyValue(obj){for(letvalu......
  • javascript如何循环遍历对象
    在JavaScript中有多种循环遍历对象的方法,下面本篇文章就来给大家介绍一下使用JavaScript循环遍历对象的方法,希望对大家有所帮助。1、使用for循环for循环是js中最常用的一个循环工具,经常用于数组的循环遍历。letarr=[1,2,3];for(leti=0;i<arr.length;i++){co......
  • Scanner类
    ScannerScanner:其中有一个作用是获取键盘上的符号构造方法:Scanner(InputStreamsource)构造一个新的Scanner,产生从指定输入流扫描的值。InputStream字节流这里是从键盘输入字符串类型next()的和整数类型nextInt()的importjava.util.Scanner;pub......
  • 第六章 面向对象进阶
    一,分包思想1、分包思想概述(理解)如果将所有的类文件都放在同一个包下,不利于管理和后期维护,所以,对于不同功能的类文件,可以放在不同的包下进行管理2、包的概述(记忆)包本质上就是文件夹创建包多级包之间使用"."进行分割多级包的定义规范:公司的网站地址翻转(去掉w......
  • (22)Lazarus退出时保存相关对象值为Ini和XML格式(IniPropStorage1和XMLPropStorage1)
    参考自带例子C:\lazarus\examples\propstorage1]放一个IniPropStorage1到界面上,将它的IniFileName设置为config.ini 2]类似地,拖一个XMLPropStorage1到界面上,将它的FileName设置为config.xml 3]添加要保存的属性 ......
  • SpringBoot集成亚马逊的S3对象存储
    依赖导入:aws-java-sdk-s3<dependencyManagement><dependencies><dependency><groupId>com.amazonaws</groupId><artifactId>aws-java-sdk-bom</artifactId>......
  • Java中的对象克隆
    对象克隆复制一个一模一样的新对象出来浅克隆拷贝出的新对象,与原对象中的数据一模一样(引用类型拷贝的只是地址)深克隆对象中基本类型的数据直接拷贝。对象中的字符串数据拷贝的还是地址。对象中包含的其他对象,不会拷贝地址,会创建新对象packagecom.aiit.itcq;imp......
  • Java面向对象
    面向过程&面向对象面向过程:步骤简单清晰,第一步->第二步->....面向过程适合处理一些较为简单的问题面向对象:分类的思维模式面向对象适合处理复杂的问题对于描述复杂的事物,使用面向对象的思维去宏观上把握、整体上分析,使用面向过程的思维去处理围观操作什么是面向......
  • 3_基于注解管理Bean对象
    基于注解管理Bean对象1.基本介绍Spring通过注解实现自动装配的步骤如下:引入依赖开启组件扫描使用注解定义Bean依赖注入Spring默认不使用注解配置bean,因此需要我们在Spring的配置文件中配置context:component-scan元素开启SpringBeans的自动扫描功能。开启此功能后,Sprin......
  • Vue学习笔记32--自定义指令--对象式
    Vue学习笔记32--自定义指令--对象式总结:1.autofocus属性,用于input自动获取焦点2.directives指令中this是指window3.vm中使用directives进行自定义指令,为局部指令4.全局指令和全局过滤器类似,应在vm之外使用directive进行声明使用自定义指令总结: 定......