JAVA流程控制 Scanner 对象

简介: JAVA流程控制 Scanner 对象

Scanner对象


用于实现程序和人的交互,调用JAVA的Scanner工具类,可以获取用户的输入。Java.util.Scanner 是新特征, 可以通过Scanner类来获取用户的输入。


基本语法


//创建一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);

Scanner类的next()与nextLine()接收输入数据的区别


使用next()接收


遇到空格会停止


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);  //输入hello world 输出的内容为 hello
            //原因是用next接收到 空格 会停止
        }
        //方式属于 IO流的类(输入/输出) 如果不关闭会一直占用资源,要养成用完就关掉的习惯
        scanner.close();
    }

使用nextLine()接收


遇到回车 Enter 停止接收


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);
            //输入内容 hello wordl
            //输出的内容为: hello wordl
        }
       scanner.close();
    }

直接将输入流赋值给变量


public static void main(String[] args) {
        System.out.println("输入的数据为:");
        Scanner scanner = new Scanner(System.in);
        String str =  scanner.nextLine();
        System.out.println("输出的内容为:"+str);
        //输入的数据为:  hello world
        //输出的内容为:hello world
        scanner.close();
    }

习题(实现加法的循环求和)


public static void main(String[] args) {
        //求和
        double sum =0;
        //计算元素个数
        int m=0;
        //用到循环判断输入的个数
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m++;
            sum = sum+x;
        }
        System.out.println("求和为"+sum);
        System.out.println("求平均数为:"+sum/m);
        scanner.close();
        //输入 10 20 30 40
        //输出 求和为100.0  求平均数为:25.0
    }
相关文章
|
20小时前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
1天前
|
Java API
java提交钉钉审批的一个流程例子
java提交钉钉审批的一个流程例子
|
1天前
|
缓存 Java 程序员
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
关于创建、销毁对象⭐Java程序员需要掌握的8个编程好习惯
|
1天前
|
Java
从源码出发:JAVA中对象的比较
从源码出发:JAVA中对象的比较
9 3
|
1天前
|
安全 Java 编译器
java中类与对象回顾总结-2
java中类与对象回顾总结
13 3
|
1天前
|
Java 编译器
java中类与对象回顾总结-1
java中类与对象回顾总结
13 3
|
2天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
25 1
|
2天前
|
Java 测试技术
Java一分钟之-控制流程:if条件语句与switch
【5月更文挑战第8天】本文探讨了Java编程中的`if`和`switch`控制流程语句,强调了常见问题和易错点。对于`if`语句,需注意使用大括号避免逻辑错误,完整比较操作,以及理解`&&`和`||`的短路行为。在`switch`语句中,要注意只能基于常量进行判断,每个`case`后应有`break`,并提供`default`分支。避免错误的策略包括始终使用大括号、确保清晰的条件、进行代码审查和编写单元测试。掌握这些要点对编写高效、可维护的代码至关重要。
11 0
Java一分钟之-控制流程:if条件语句与switch
|
9天前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
29 4
|
11天前
|
Java 编译器
【Java探索之旅】解密构造方法 对象初始化的关键一步
【Java探索之旅】解密构造方法 对象初始化的关键一步
16 1