Java流程控制01-用户交互Scanner

简介: Java流程控制01-用户交互Scanner

Java流程控制01-用户交互Scanner

本篇笔记简介1.scanner类概念——>2.next()与nextline()方法讲解——>3.对比区分(——>补充扩展)

目录

1.scanner类概念

java.util.Scanner 是 Java5 时出来的新一特征,我们可以借助 Scanner 类来获取用户的输入

创建 Scanner 对象的基本语法

Scanner s = new Scanner(System.in);


2.next()与nextline()方法讲解

示例演示,加深对Scanner类的理解。

预备知识:

①通过 Scanner 类的 next() 和 nextLine() 方法获取输入的字符串;

②读取前使用 hasNext 和 hasNextLine 判断是否还有输入的数据;

正式示例:

1.next方法

 import java.util.Scanner;   
public class Demo01 {    
    public static void main(String[] args) {        
        Scanner scanner = new Scanner(System.in);   // 从键盘接收数据 
        // next方式接收字符串        
        System.out.println("next方式接收:");                     
        if (scanner.hasNext()) {    // 判断是否还有输入           
            String str1 = scanner.next();            
            System.out.println("输入的数据为:" + str1);        
        }                              
        scanner.close();    
    } 
}

执行以上程序输出结果为:

nextLine方式接收:
liusu com
输入的数据为:liusu

如图:

ps: com怎么不见了?接下来先继续看nextLine。看完之后,再对它俩进行一下对比,看一下有何不同。

2.nextLine方法:

import java.util.Scanner;
public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);// 从键盘接收数据         
        //nextLine方式接收字符串
        System.out.println("nextLine方式接收:");        
        if (scanner.hasNextLine()) {// 判断是否还有输入
            String str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        }
        scanner.close();
    }
}

执行以上程序输出结果为:

nextLine方式接收:
liusu com
输入的数据为:liusu com

如图:

com成功输出!


3.next() 与 nextLine() 对比区分

next():

  • 读取到有效字符后才能结束输入。
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不可得到带有空格的字符串。

nextLine():

  • 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • nextLine()可以获得带有空格的字符串。

★补充:

输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextInt()或hasNextFloat方法进行验证,再使用 nextInt()或nextFloat() 来读取:

import java.util.Scanner;
public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 从键盘接收数据
        int i = 0;
        float f = 0.0f;
        System.out.print("输入整数:");
        if (scanner.hasNextInt()) {  // 判断输入的是否是整数        
            i = scanner.nextInt();
            System.out.println("整数数据:" + i);//接收整数
        } else {
              System.out.println("输入的不是整数!");
        }
        System.out.print("输入浮点数:");
        if (scanner.hasNextFloat()) {  // 判断输入的是否是浮点数
            f = scanner.nextFloat();                
            System.out.println("浮点数数据:" + f);// 接收浮点数
        } else {
               System.out.println("输入的不是浮点数!");
        }
        scanner.close();
    }
}
//执行以上程序输出结果为: 
输入整数:10
整数数据:10
输入小数:1.5
小数数据:1.5

如图:

★ps:当然nextDouble()、nextLong()等这些也是有的,此处以nextInt()与nextFloat()为例,关于nextDouble()与nextLong(),大家可以自己尝试实现一下,此处不再多做阐述。



作者Code_流苏(一个喜欢古诗词和编程的Coder😊)

★喜欢的话,还请多多点赞与关注! 感谢支持!
笔记更新随个人学习进度而进行,欢迎评论交流学习!


目录
相关文章
|
15天前
|
小程序 前端开发 算法
|
20天前
|
Java API 开发者
Java如何实现企业微信审批流程
大家好,我是V哥。本文分享如何在企业微信中实现审批流程,通过调用企业微信的开放API完成。主要内容包括获取Access Token、创建审批模板、发起审批流程和查询审批结果。提供了一个Java示例代码,帮助开发者快速上手。希望对你有帮助,关注V哥爱编程,编码路上同行。
|
23天前
|
SQL IDE Java
入门Cloud Toolkit:简化你的Java应用开发与部署流程
【10月更文挑战第19天】作为一名长期从事Java开发的程序员,我一直致力于寻找能够简化日常开发工作的工具。在众多工具中,阿里巴巴推出的Cloud Toolkit引起了我的注意。这款免费的插件旨在帮助开发者更轻松地进行开发、测试及部署工作,尤其是在与云服务交互时表现尤为出色。本文将从个人的角度出发,介绍Cloud Toolkit的基本功能及其使用技巧,希望能帮助初学者快速上手这款实用工具。
18 1
|
30天前
|
前端开发 安全 Java
java发布公告的实现流程
构建一个Java公告发布系统涉及到前端界面设计、后端业务逻辑处理、数据库设计与交互、安全性保障等多个环节。通过采用现代的开发框架和最佳实践,可以高效地开发出既安全又易于维护的系统。随着需求的增长,系统还可以进一步扩展,比如增加评论功能、通知订阅、多语言支持等。
29 1
|
4月前
|
消息中间件 存储 Java
使用Java构建实时数据处理流程
使用Java构建实时数据处理流程
|
1月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文介绍了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署和云原生部署。每种方式的特点、部署流程及优缺点进行了详细说明。传统部署直接在物理机上运行应用,存在资源利用率低和运维成本高的问题;虚拟化部署通过虚拟机实现资源隔离和复用,但有性能损失和单点故障风险;容器化部署则提供轻量级、可移植的应用环境,具备良好的隔离性和一致性;云原生部署结合了容器化和微服务架构,实现高效运维和灵活扩展。
Java项目部署的发展流程
|
2月前
|
Java 数据处理
Java Scanner 类详解
`Scanner` 类是 Java 中 `java.util` 包提供的强大工具,用于从多种输入源(如键盘、文件、字符串)读取数据。本文详细介绍如何创建 `Scanner` 对象并使用其常用方法(如 `next()`, `nextInt()`, `nextLine()` 等)。通过示例代码展示如何从标准输入、字符串及文件中读取数据,并进行输入验证。使用时需注意关闭 `Scanner` 以释放资源,并确保输入类型匹配,避免异常。掌握 `Scanner` 可显著提升程序的数据处理能力。
|
3月前
|
运维 Cloud Native Java
Java项目部署的发展流程
本文对比分析了四种不同的应用部署方式:传统部署、虚拟化部署、容器化部署及云原生部署。传统部署直接在物理机上运行程序,存在资源复用难等问题。虚拟化部署通过虚拟机技术实现了资源的有效隔离与利用,但可能会造成性能损失。容器化部署则进一步提升了应用的可移植性和资源利用率,减轻了运维负担。云原生部署结合容器化、微服务等技术,实现了应用的快速迭代、高效运维和灵活扩展,适用于现代互联网应用的开发与部署。每种方式均针对其特点进行了详细的流程描述与优缺点分析。
|
3月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
65 18
|
3月前
|
Java
在Java编程的广阔天地中,条件语句是控制程序流程、实现逻辑判断的重要工具。
在Java编程中,if-else与switch作为核心条件语句,各具特色。if-else以其高度灵活性,适用于复杂逻辑判断,支持多种条件组合;而switch在多分支选择上表现优异,尤其适合处理枚举类型或固定选项集,通过内部跳转表提高执行效率。两者各有千秋:if-else擅长复杂逻辑,switch则在多分支选择中更胜一筹。理解它们的特点并在合适场景下使用,能够编写出更高效、易读的Java代码。
37 1