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
目录
相关文章
|
11天前
|
JSON API 数据处理
【Swift开发专栏】Swift中的RESTful API集成实战
【4月更文挑战第30天】本文探讨了在Swift中集成RESTful API的方法,涉及RESTful API的基础概念,如HTTP方法和设计原则,以及Swift的网络请求技术,如`URLSession`、`Alamofire`和`SwiftyJSON`。此外,还强调了数据处理、错误管理和异步操作的重要性。通过合理利用这些工具和策略,开发者能实现高效、稳定的API集成,提升应用性能和用户体验。
|
14天前
|
设计模式 Java API
Java 可扩展 API 设计:打造灵活的应用架构
【4月更文挑战第27天】设计可扩展的 API 是构建灵活、易于维护的应用程序架构的关键。Java 提供了丰富的工具和技术来实现这一目标,使开发者能够构建具有高度可扩展性的应用程序。
37 4
|
14天前
|
存储 SQL 安全
Java 安全性编程:基本概念与实战指南
【4月更文挑战第27天】在当今的软件开发领域,安全性编程是一个至关重要的方面。Java,作为广泛使用的编程语言之一,提供了多种机制来保护应用免受常见的安全威胁。本博客将探讨 Java 安全性编程的基本概念,并通过实际示例来展示如何实现这些安全措施。
23 3
|
1天前
|
Java API
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
|
2天前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
9 0
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
9 0
|
4天前
|
存储 监控 安全
JVM工作原理与实战(十六):运行时数据区-Java虚拟机栈
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了运行时数据区、Java虚拟机栈等内容。
11 0
|
5天前
|
Java
Java中的多线程编程:基础知识与实战技巧
【5月更文挑战第6天】多线程编程是Java中的一个重要特性,它允许我们在一个程序中同时执行多个任务。本文将介绍Java多线程的基础知识,包括线程的创建、启动、同步和通信,以及如何在Java中实现多线程编程。通过实例代码和解析,帮助读者深入理解Java多线程编程的概念和应用。
|
9天前
|
存储 Java 数据格式
Java实战:轻松掌握文件重命名与路径提取技巧
Java实战:轻松掌握文件重命名与路径提取技巧
16 0
|
10天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【5月更文挑战第1天】本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的函数式编程语法,可以简化代码并提高可读性。Stream API是一种用于处理集合的新工具,可以方便地进行数据操作和转换。通过结合Lambda表达式和Stream API,我们可以更加简洁高效地编写Java代码。