0:Base API-Java API 实战

简介: 0:Base API-Java API 实战

0.1 引言


前接Java与生活,该课属于Java进阶阶段


详见:Java与生活


0.2 API的定义和用处


API 的定义和作用


  • API是应用程序接口,是为了方便客户和开发人员使用,以实现某种功能


  • Java API就是提供给JAVA工程师的一种方法库,API文档中拥有Java 的大部分知识


  • 这些API就是一些JDK里面给我们的类,这些类已经封装完成,在使用过程中只需要了解它的功能


  • 同时我们书写API也是将API写好,最后由别的工程师去利用


0.3 Scanner(普通类)


Scanner里面提供了许多与扫描相关的方法,通过这些方法我们大概可以猜测,API里的方法要如何命名,对于不用数据类型的返回值方法要如何写,对于变量不同的方法,我们又要如何写


命名的名字要和方法的操作有相关性,名字上要体现是什么返回类型的,并通过方法的重载来实现


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



String str1 = scan.nextLine();



Ctrl+左键点击Scanner可以查看源代码



图标有个小锁表示JDK自带的文档,禁止改动这里面的代码



0.4 Number(包装类)


Number类是使用面向对象的思想重新定义了数据类型,将全部的数字数据类型变成一个对象,并且全部继承Number类中,对这些数据类型进行维护,并且为这些数据类型提供相应的方法


这些对象式的数据类型和原始数据类型最大的区别就是有无方法的支持


所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。



这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number 类属于 java.lang 包。



调用方法用英文的句号



public class Main {
    public static void main(String[] args) {
        Integer x = 5;//x装箱,拿来赋值
        x = x + 10;//x拆箱,拿出来用
        System.out.println(x);
    }
}


0.5 Math(工具类)


Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数


Math类在使用时不用new一个对象,只要Math.方法就可以使用这个方法,Math的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。


例如,取大的值函数为Math.max(),就是一个螺丝刀(Math)拧螺丝(max()),没有必要每一次拧螺丝的时候都买一把新刀



0.6 Random(父子类)


Random是随机数类,使用时间戳来控制生成随机数的过程


Random的返回值是:Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator’s sequence sentence,即返回一个伪随机、均匀分布的 int 值,介于 0(包括)和指定值(不包括)之间,取自该随机数生成器的序列。


        System.out.println(Math.random());


        Random random = new Random();
        int random1 = random.nextInt();
        System.out.println(random1);
        int random2 = random.nextInt(10);
        System.out.println(random2);


0.7 ThreadLocalRandom


ThreaLocalRandomRandom的子类,相对于Random的功能更全面和高效,同时线程安全,在使用的过程中也与时间戳有关,用于并发操作,current 表示当前线程


        double i = ThreadLocalRandom.current().nextDouble(0.9, 1.5);


0.8 Date


Data类是一个非常简单、基础、底层的的类,已经过时(Deprecated),但有很多用法是根据这个基础类来进行衍生,是一个对于时间非常重要的类


调出系统时间


System.out.println(new Date());


或者


Date date = new Date();
        System.out.println(date);


常见的是用字符串转换为时间,自动调用toString,以毫秒开始,所以需要乘1000


        System.out.println(new Date(1647739190L * 1000));



0.9 DateFormat和SimpleDateFormat


Date的衍生类,DataFormat用于对时间格式化,使用的过程中需要使用它的子类SimpleDataFormat


项目 含义 表示 示例
y Year 1996
M 年中的月份 Month 07
D 年中的天数 Number 189
d 月份中的天数 Number 10
E 星期 Text Tuesday; Tue
H 一天中的小时数(0-23) Number 0
h am/pm中的小时数(1-12) Number 12
m 分钟数 Number 30
s 秒数 Number 55
S 毫秒数 Number 978


    public static void main(String[] args) {
        Date date = new Date();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateFormat.format(date));


2022-03-20 09:41:31


0.10 Calendar(日期类)


Calendar类是对日期和时间进行控制的,在这个类中有许多的字段,可以直接当作工具类进行使用,在社交软件中我们可以用这个来计算年龄


        Calendar calendar = Calendar.getInstance();
        int  year = calendar.get(Calendar.YEAR);
        System.out.println(year);


2022



0.11 System(系统类)


System类代表系统,系统级的很多属性和控制方法都放置在该类的内部


获取时间戳


System.out.println(System.currentTimeMillis());


1649426343473
目录
相关文章
|
2月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
26天前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
27天前
|
缓存 自然语言处理 API
阿里巴巴国际站关键字搜索 API 实战:3 步搞定多语言适配 + 限流破局,询盘量提升 40%
跨境电商API开发常陷合规、多语言、限流等坑。本文详解从国际合规(GDPR/CCPA)到参数优化、数据结构化及区域化搜索的全链路方案,附Python代码模板与缓存重试架构,助力提升调用成功率至99%+,精准询盘增长42%。
|
2月前
|
供应链 监控 安全
1688商品详情API接口实战指南:合规获取数据,驱动B2B业务增长
1688商品详情API(alibaba.product.get)是合规获取B2B商品数据的核心工具,支持全维度信息调用,助力企业实现智能选品、供应链优化与市场洞察,推动数字化转型。
|
1月前
|
安全 Java 开发者
告别NullPointerException:Java Optional实战指南
告别NullPointerException:Java Optional实战指南
227 119
|
2月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
227 100
|
2月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
258 101
|
2月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
232 101
|
1月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
Python API接口实战指南:从入门到精通
|
2月前
|
数据采集 缓存 API
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)
本文详解小红书笔记详情API的开发对接、实战场景与收益模式,涵盖注册避坑、签名生成、数据解析全流程,并分享品牌营销、内容创作、SAAS工具等落地应用,助力开发者高效掘金“种草经济”。
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)