一、先理解:什么是 API?

如果你是刚学Java的萌新,第一次听到“API”这个词,可能会觉得:“这是什么高端黑话?”

我就是那个萌新哈哈哈哈哈。

1. API 定义

API 全称:Application Programming Interface,应用程序编程接口。

简单理解:Java 官方提前写好、封装完毕的功能代码,我们开发者直接调用即可,不用关心底层实现

举个生活化例子:

你去饭店吃饭,只需要跟服务员报菜名,不用自己进后厨买菜、炒菜。服务员就相当于 API,后厨复杂的做菜逻辑被隐藏,你只需要调用 “点餐” 这个能力。

2. API 核心优势

  1. 降低开发成本:避免重复造轮子;
  2. 代码简洁稳定:官方库经过大量测试,比自己实现更可靠;
  3. 聚焦业务:让你专注于核心业务,不用纠结底层细节。

在这里插入图片描述

二、键盘录入核心工具:Scanner 类

键盘录入:获取键盘按下的数据,并保存在变量当中。

核心思想Scanner 就是 Java 提供给我们的一个现成的 API 工具,我们不需要自己写键盘监听代码,直接调用它的方法就行了。

Scanner 标准使用三步法

  1. 导包:import java.util.Scanner;导入Scanner类(IDEA可自动补全)。

  2. 创建对象:Scanner sc = new Scanner(System.in);创建Scanner实例,绑定键盘输入流。sc是自定义对象名,可修改。

  3. 接收数据:调用对应方法,等待并读取用户输入。

    • nextInt():接收整数
    • nextDouble():接收小数
    • next():接收不带空格的字符串
三个最常用的方法 接收数据类型 特点
nextInt() int 整数 只能输入整数;输入非整数内容会抛出 InputMismatchException 异常。
nextDouble() double 小数 支持整数 / 小数;输入非数字内容会抛出 InputMismatchException 异常。
next() String 字符串 遇到空格、回车就停止读取,适合无空格文本

补充说明next() 遇到空格或回车就停止读取。比如输入"张 三",它只能读到"张"。进阶可学习nextLine()解决空格问题。

三、实战演练:录入并展示个人信息

需求:控制台依次输入姓名、年龄、体重,最后统一打印汇总信息,代码可直接复制运行。

import java.util.Scanner;// 1.导包(IDEA会自动帮我们导入)
public class ScannerDemo {
    public static void main(String[] args) {
        // 2.创建Scanner对象
        Scanner sc = new Scanner(System.in);

        // 3.接收数据
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt(); // 接收整数-年龄

        System.out.println("请输入您的姓名:");
        String name = sc.next(); // 接收字符串-姓名

        System.out.println("请输入您的体重:");
        double weight = sc.nextDouble(); // 接收小数-体重

        // 4. 输出录入信息
        System.out.println("===== 用户信息汇总 =====");
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age + " 岁");
        System.out.println("体重:" + weight + " kg");
        
        sc.close(); // 5. 建议:关闭资源
    }
}

运行效果:

在这里插入图片描述

最后抛出一个问题(引发思考)

🤔 思考题:
如果用户不按套路出牌,比如调用 nextInt() 时,他偏偏输入了"abc"而不是数字,程序直接报错终止了。

如果你是程序员,怎么让程序提示“请输入数字”并让用户重输?

💡 这道题超纲了! 我目前的知识储备暂时答不上来。但没关系,问题先留在这里,答案留给时间,也留给你和我。

欢迎在评论区留下你的思路,我们一起探讨~

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐