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
    }
相关文章
|
2天前
|
安全 Java 数据安全/隐私保护
Java 封装:对象的“面纱”下,隐藏着怎样的世界?
【6月更文挑战第15天】Java封装是对象的隐私保护,它隐藏类的内部细节并设定访问接口。`Person`类展示了如何用`private`字段和公共getter/setter方法实现封装,确保数据安全性和代码可维护性。例如,`BankAccount`类封装了余额,只允许通过`deposit`、`withdraw`和`getBalance`方法操作。封装减少了外部干扰,增强安全性,提高可扩展性,是Java面向对象编程的核心原则之一。
|
2天前
|
安全 Java 数据安全/隐私保护
揭秘 Java 的“心灵封印术”:如何巧妙隐藏对象的小秘密?
【6月更文挑战第15天】Java的封装是面向对象的核心,它隐藏对象内部细节,只暴露必要的接口。比如`Student`类中,私有属性`name`和`age`通过公共方法访问,保证数据安全。同样,`BankAccount`类封装`balance`,仅允许通过`deposit`、`withdraw`和`getBalance`操作,防止数据误改。封装使代码更健壮、易维护,是编程的强力工具。
|
2天前
|
Java 开发者
Java 面向对象编程实战:从类定义到对象应用,让你成为高手!
【6月更文挑战第15天】在Java中,掌握面向对象编程至关重要。通过创建`Book`类,展示了属性如`title`和`author`,以及构造方法和getter方法。实例化对象如`book1`和`book2`,并访问其属性。进一步扩展类,添加`pages`和`calculateReadingTime`方法,显示了类的可扩展性。在更大规模的项目中,如电商系统,可以定义`Product`、`User`和`Order`类,利用对象表示实体和它们的交互。实践是精通Java OOP的关键,不断学习和应用以提升技能。
|
2天前
|
Java 开发者
为什么 Java 的类和对象如此重要?看完这篇你就懂了!
【6月更文挑战第15天】在Java中,类和对象是核心概念。类作为蓝图定义数据(如角色的名称和健康值)和行为(如`takeDamage`方法),而对象是类的实例,允许交互(如战士受伤)。通过继承,如`Circle`和`Rectangle`扩展`Shape`类,实现多态性,增强代码灵活性。类和对象促进代码组织、复用和可维护性,是高效软件开发的基础。
|
2天前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name="Alice"`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
|
2天前
|
安全 Java
Java 对象创建与使用:你真的会用吗?
【6月更文挑战第15天】在Java中,对象创建涉及`new`关键字和构造器,用于初始化。使用对象时注重属性和方法的访问,遵循命名规范。关注对象生命周期,避免过度创建,如在循环内,以减少内存消耗和提高性能。还要考虑线程安全,尤其在多线程环境下,确保正确同步以防止数据不一致。通过优化对象的创建与使用,提升代码效率和可靠性。
|
2天前
|
Java
别再被 Java 类和对象绕晕了!一篇文章让你秒懂!
【6月更文挑战第15天】Java中的类是对象的模板,定义属性(如姓名、年龄)和行为(如走路、说话)。对象是类的实例,有自己的属性值。例如,`Person`类可创建`Person`对象,赋予属性值并调用方法。同样,`Car`类可创建不同品牌的汽车对象,每个对象能加速或刹车。理解类与对象的关系是Java面向对象编程的基础。
|
2天前
|
Java
Java 小白也能看懂!类和对象详解,轻松入门面向对象编程
【6月更文挑战第15天】面向对象编程对新手可能抽象,但理解Java中的类和对象是关键。类是事物模板,如“汽车”类包含属性(颜色、型号、速度)和行为(启动、加速、刹车)。对象是类的实例,像具体的汽车。通过创建对象并调用其方法,可以模拟现实世界的情景。例如,`Car myCar = new Car();`创建了一个汽车对象,之后可设置属性和调用方法。多练习有助于掌握这一概念。
|
2天前
|
Java
Java 面向对象编程:你真的懂类和对象吗?
【6月更文挑战第15天】Java的面向对象编程聚焦于类与对象。类是共享属性和行为的抽象,如`Person`类含名字和年龄。对象是类的具体实例,如`person1`和`person2`各有独特的属性值。设计类时要考虑扩展性,以便适应变化,如添加“性别”属性。对象管理涉及保持其状态和行为的正确性。继承允许类如`Student`扩展`Person`,增加新特性。理解面向对象不仅是创建和使用,更是关于设计和架构的智慧。
|
2天前
|
Java
从 0 到 1,Java 对象创建的神秘面纱终于被揭开!
【6月更文挑战第15天】Java对象创建始于类定义,如`Person`或`Student`。使用`new`关键字在堆内存中分配空间并调用构造器初始化属性。这允许实例化具有特定行为的个体,参与程序中的交互。继承使子类如`Student`扩展父类`Person`的功能。对象创建是构建程序基础的关键步骤,将抽象概念转化为可操作的代码对象。