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
目录
相关文章
|
17天前
|
存储 Java 开发者
Java Map实战:用HashMap和TreeMap轻松解决复杂数据结构问题!
【10月更文挑战第17天】本文深入探讨了Java中HashMap和TreeMap两种Map类型的特性和应用场景。HashMap基于哈希表实现,支持高效的数据操作且允许键值为null;TreeMap基于红黑树实现,支持自然排序或自定义排序,确保元素有序。文章通过具体示例展示了两者的实战应用,帮助开发者根据实际需求选择合适的数据结构,提高开发效率。
49 2
|
2天前
|
JSON BI API
商城上货API接口的实战案例
在商城上货过程中,API接口扮演着至关重要的角色。以下是对商城上货API接口的实战分析,涵盖其主要功能、类型、安全性以及实战案例等方面。
|
2天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
16 4
|
23天前
|
存储 消息中间件 安全
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
【10月更文挑战第9天】本文介绍了如何利用JUC组件实现Java服务与硬件通过MQTT的同步通信(RRPC)。通过模拟MQTT通信流程,使用`LinkedBlockingQueue`作为消息队列,详细讲解了消息发送、接收及响应的同步处理机制,包括任务超时处理和内存泄漏的预防措施。文中还提供了具体的类设计和方法实现,帮助理解同步通信的内部工作原理。
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
|
3天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
11 1
|
8天前
|
存储 JSON API
淘宝API接口实战:高效获取商品标题、分类及店铺名称
在淘宝API接口实战中,通过以下步骤高效获取商品标题、分类及店铺名称:1. 准备工作:了解淘宝开放平台文档,注册开发者账号,选择开发语言和工具。2. 获取API访问权限:申请相应权限,提供应用场景说明。3. 调用API接口:构建HTTP请求,提供必要参数。4. 解析响应数据:提取JSON数据中的所需信息。5. 数据处理和存储:进一步处理并存储数据。6. 注意事项:遵守使用规范,注意调用频率和数据安全。示例代码使用Python调用淘宝API。
|
11天前
|
Java API 数据处理
探索Java中的Lambda表达式与Stream API
【10月更文挑战第22天】 在Java编程中,Lambda表达式和Stream API是两个强大的功能,它们极大地简化了代码的编写和提高了开发效率。本文将深入探讨这两个概念的基本用法、优势以及在实际项目中的应用案例,帮助读者更好地理解和运用这些现代Java特性。
|
17天前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
20天前
|
开发框架 Java 程序员
揭开Java反射的神秘面纱:从原理到实战应用!
本文介绍了Java反射的基本概念、原理及应用场景。反射允许程序在运行时动态获取类的信息并操作其属性和方法,广泛应用于开发框架、动态代理和自定义注解等领域。通过反射,可以实现更灵活的代码设计,但也需注意其性能开销。
36 1
|
25天前
|
前端开发 API
Context API 实战应用
【10月更文挑战第8天】在 React 应用开发中,状态管理至关重要。本文介绍了 `Context API` 的基础概念、基本用法,以及常见问题和易错点的解决方法。通过代码示例,详细讲解了如何在组件间高效共享状态,优化性能,处理嵌套 Context 和副作用。
12 1

热门文章

最新文章