首页 > 编程语言 >0:Base API-Java API 实战

0:Base API-Java API 实战

时间:2022-11-11 10:39:38浏览次数:42  
标签:API Java System Date Base println Math out


目录

  • ​​0.1 引言​​
  • ​​0.2 API的定义和用处​​
  • ​​0.3 Scanner(普通类)​​
  • ​​0.4 Number(包装类)​​
  • ​​0.5 Math(工具类)​​
  • ​​0.6 Random(父子类)​​
  • ​​0.7 ThreadLocalRandom​​
  • ​​0.8 Date​​
  • ​​0.9 DateFormat和SimpleDateFormat​​
  • ​​0.10 Calendar(日期类)​​
  • ​​0.11 System(系统类)​​

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();
}
}

0:Base API-Java API 实战_java

String str1 = scan.nextLine();

0:Base API-Java API 实战_子类_02


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

0:Base API-Java API 实战_数据类型_03

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

0:Base API-Java API 实战_子类_04

0.4 Number(包装类)

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

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

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

0:Base API-Java API 实战_java_05


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


0:Base API-Java API 实战_java_06

调用方法用英文的句号

0:Base API-Java API 实战_子类_07

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:Base API-Java API 实战_子类_08

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

​ThreaLocalRandom​​​是​​Random​​​的子类,相对于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:Base API-Java API 实战_java_09

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:Base API-Java API 实战_子类_10

0.11 System(系统类)

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

获取时间戳

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


标签:API,Java,System,Date,Base,println,Math,out
From: https://blog.51cto.com/u_15872973/5843033

相关文章

  • 1:Unit test and main function-Java API 实战
    目录​​1.抛出企业问题,脱离main测试,模块化编程​​​​2.Junit单元测试的含义和用途​​​​3.怎么获取各种Jar包?MavenRepository获取各类各个版本的jar,这就是仓库。......
  • 4:File-Java API 实战
    目录​​1.引言​​​​2.绝对路径和相对路径?先学送快递吧!​​​​3.绝对路径​​​​4.相对路径​​​​5.File类​​​​6.Linux上的绝对路径有所不同​​1.引言文......
  • 1:Web开发入门-Java Web
    目录​​1.1什么是Web应用程序​​​​1.2B/S架构​​​​1.3静态Web与动态Web​​​​1.4JavaEE介绍​​​​1.5JavaEE架构与组件​​​​1.6JavaEE中的容器​​......
  • 一带而过-Java与生活
    目录​​认识Java​​​​0-0前言​​​​1-1Java是怎么执行的?说好的exe呢?​​​​1-2package​​​​1-3第一个程序的讲解​​​​1-4注释和文档​​​​2-0一带而过......
  • 1:Spring框架核心-Java Spring
    目录​​1.1软件模块化​​​​1.2Spring框架介绍​​​​1.3Spring框架的配置​​​​1.4Servlet​​​​1.5Spring容器​​​​1.6SpringBean对象的注解​​​​1.......
  • 3:Tomcat部署Web项目-Java Web
    目录​​3.1Web应用程序​​​​3.2部署Web项目​​​​3.3配置虚拟目录​​​​3.4配置Web项目的首页​​3.1Web应用程序一个web应用程序是由一组Servlet,HTML页......
  • 3:SpringBoot-Java Spring
    目录​​3.1SpringBoot介绍​​​​3.2Spring和SpringBoot的区别​​​​3.3系统要求​​​​3.4SpringBootApplication​​3.1SpringBoot介绍SpringBoot的本质是Sprin......
  • 4:SpringBoot-Starter-Java Spring
    目录​​4.1SpringBoot-Starter介绍​​​​4.1Starter原理​​​​4.3Starter依赖引入​​​​4.4Starter配置​​4.1SpringBoot-Starter介绍Starter是SpringBoot的一......
  • Java多线程 CompletionService和ExecutorCompletionService
    目录​​一、说明​​​​二、理解​​​​三、实现​​​​1.使用Future​​​​2.使用ExecutorCompletionService​​​​3.take()方法​​​​4.poll()方法​​​​5.pol......
  • 5:SpringBoot-Actuator-Java Spring
    目录​​5.1SpringBoot-Actuator介绍​​​​5.2Endpoints介绍​​​​5.3Actuator原理​​​​5.4Actuator依赖引入​​5.1SpringBoot-Actuator介绍Actuator是Spring......