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😊)

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


目录
相关文章
|
17天前
|
存储 Java
Java Scanner类详解与应用
Java Scanner类详解与应用
|
17天前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
23 1
|
3天前
|
Java 索引
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
|
4天前
|
Java 索引
Java基础之流程控制
Java基础的流程控制包括顺序、选择和循环控制。顺序控制是默认的逐行执行;选择控制(if/else, if...else if...else, switch)根据条件执行不同代码块;循环控制(for, while, do-while)用于重复执行代码。for循环适合已知循环次数,while适合未知次数但有明确终止条件,do-while至少执行一次。知识点包括if与switch的区别、for-each循环的工作原理、嵌套循环、避免死锁的方法以及尾递归在优化递归调用中的作用。
6 0
|
4天前
|
Java 索引
Java基础之流程控制
Java基础之流程控制
5 0
|
14天前
|
小程序 Java
28. 【Java教程】Scanner 类
28. 【Java教程】Scanner 类
22 7
|
17天前
|
Java 开发者
深入探索Java语言的流程控制
深入探索Java语言的流程控制
|
22天前
|
Java
java基础--程序流程控制
- **for循环案例**:求1-100的和及奇数和。 - **while循环**:未知循环次数时使用,基础案例:打印"Hello World"五次。 - **do-while循环**:至少执行一次,区别于先判断的for和while循环。 - **循环嵌套**:一个循环内含另一循环,例如打印矩形。 - **跳转语句**:`break`用于提前结束循环,`continue`跳过当前循环迭代。 ```
|
22天前
|
Java 程序员
java基础--程序流程控制(1)
学习编程中的分支结构,主要涉及if和switch。if分支用于条件判断,常见于体温检测和支付场景,有三种形式:单if、if-else和if-else if...else。switch通过比较值来选择执行代码块,适用于星期安排等案例。选择if或switch取决于判断类型:范围判断适合if,逐值比较适合switch。使用switch注意数据类型限制(如byte、short、int、char及JDK5后的枚举和JDK7后的String)、case值的唯一性和字面量特性,以及避免忘记break导致的穿透现象。
|
26天前
|
Java C语言
JAVA 初识 (一)JOptionPane、Scanner和Random的小认知
JAVA 初识 (一)JOptionPane、Scanner和Random的小认知