Java基础 | 常用API

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Java中的常用API讲解

常用API

(一)Math类

1.概述

Math包含执行基本数字运算的方法

没有构造方法,如何使用类中的成员

看类的成员是否都是静态,如果是,通过类名就可以直接调用


2.Math类的常用方法

image-20211229153728590


(二)Sytem类

1.概述

System包含有用的类字段和方法,它不能被实例化

2.System类的常用方法

public static void exit(int status) 终止当前运行的Java虚拟机,非零表示异常终止

public static long currentTimeMillis() 返回当前时间(以毫秒为单位)



(三)Object类

1.概述

Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或者间接的继承自该类

构造方法:public Object()

回想面向对象中,为什么说子类的构造方法默认访问的是父类的无参构造方法?

因为他们的顶级父类只有无参构造方法

2.Object类的常用方法

(1) toString方法

public String toString() 返回对象的字符串表示形式

建议所有子类重写此方法

如何重写?自动生成即可 alt + insert

(2)equals方法

public boolean equals(Object obj) 比较对象是否相等

默认比较地址,重写可以比较内容,自动生成



(四)Arrays

1.冒泡排序

将一组数据按照固定的规则进行排序

冒泡排序:一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序。

原理:

  • 如果有n个数据进行排序,总共需要比较n-1次
  • 每一次比较完毕,下一次的比较就会少一个数据参与

代码实现:

for (int x = 0; x < arr.length - 1; x++) {    //如果有n个元素需要排序,则一共需要排序n-1次
    for (int i = 0; i < arr.length - 1 - x; i++) {    //减1是防止索引越界,减x是每次排序完下次排序都会少排序一个元素
        if (arr[i] > arr[i + 1]) {
            int temp = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = temp;
        }
    }
}

2.Arrays类概述和常用方法

(1)概述

Arrays类包含用于操作数组的各种办法

(2)常用方法

public static String toString(int[ ] a) 返回指定数组的内容的字符串表示形式

public static void sort(int[ ] a) 按照数字顺序排列指定的数组

工具类的设计思想:

  • 构造方法用private修饰
  • 成员用public static 修饰


(五)基本类型包装类

1.概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用的操作之一:用于基本数据类型与字符串之间的转换

image-20211229213022857


2.Integer类的概述和使用

Integer:包装一个对象中的原始类型int的值

image-20211229213338378

代码演示:

public static void main(String[] args) {
    Integer i = new Integer("100");
    System.out.println(i);

    Integer i2 = new Integer(100);
    System.out.println(i2);

    Integer i3 = Integer.valueOf("abc");
    System.out.println(i3); //NumberFormatException

    Integer i4 = Integer.valueOf(100);
    System.out.println(i4);
}

3.int和String的相互转换

(1)int 转换为 String

public static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类中的方法

(2)String转换为int

public static int parseInt(String s):将字符串解析为int类型。该方法是Integer类中的方法


4.案例(字符串中数据排序)

代码实现:

import java.util.Arrays;

//需求:有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”
public class Demo {
    public static void main(String[] args) {
        //定义一个字符串
        String s = "91 27 46 38 50";
        //将字符串的数字数据存储到一个String类型的数组中
        String[] strArr = s.split(" ");
       /* for (int i = 0; i < strArr.length; i++){
            System.out.println(strArr[i]);
        }*/
        //定义一个int类型的数组,把String[]数组中的每一个元素存储到int数组中
        int[] arr = new int[strArr.length];
        for (int i = 0; i < strArr.length; i++) {
            arr[i] = Integer.parseInt(strArr[i]);
        }
        /*for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }*/

        //对数组进行排序
        Arrays.sort(arr);

        //把排序后的数组按要求进行拼接得到一个字符串,这里采用StringBuilder来实现
        StringBuilder sb = new StringBuilder();
        sb.append("“");
        for (int i = 0; i < arr.length; i++) {
            if(i == arr.length - 1){
                sb.append(arr[i]);
            } else {
                sb.append(arr[i]).append(" ");
            }
        }
        sb.append("“");
        //将StringBuilder类型转换为String类型
        String result = sb.toString();
        //输出结果
        System.out.println(result);
    }
}

5。自动装箱和拆箱

  • 装箱:把基本数据类型转换为对应的包装类类型
  • 拆箱:把包装类类型转换为对应的基本数据类型
//装箱
Integer i = Integer.valueOf(100);
//自动装箱
Integer i = 100;

i += 200;    //i = i + 200; i + 200 自动拆箱; i = i + 200; 是自动装箱

注意:在使用包装类类型的时候,如果做操作,最好先判断是否为null

推荐:只要是对象,在使用前就必须进行不为null的判断



(六)日期类

1.Date类的概述和构造方法

Date代表了一个特定的时间,精确到毫秒

构造方法

public Date() 分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒

public Date(long date) 分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数


2.Date类的常用方法

public long getTime() 获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值

public void setTime(long time) 设置时间,给的是毫秒值


3.SimpleDateFormat类概述

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。我们重点学习日期格式化解析

日期格式化由日期和时间模式字符串指定,在日期和时间模式字符串中。从“A”到“Z”以及从“a”到“z”引号的字母被解释为表示日期或时间字符串的组件的模式字母

常用的模式字母以及对应关系如下:

  • y 年
  • M 月
  • d 日
  • H 时
  • m 分
  • s 秒

4.SimpleDateFormat类构造方法

public SimpleDateFormat() 构造一个SimpleDateFormate,使用默认模式和日期格式

public SimpleDateFormate(String patten) 构造一个SimpleDateFormate使用给定的模式和默认的日期格式


5.SimpleDateFormat格式化和解析日期

(1)格式化(从Date到String)

public final String format(Date date): 将日期格式化成日期/时间字符串

(2)解析(从String到Date)

public Date parse(String source):从给定字符串的开始解析文本以生成日期

代码演示:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo {
    public static void main(String[] args) throws ParseException {
        //格式化:从Date到String
        Date d = new Date();
        //  SimpleDateFormat sdf = new SimpleDateFormat();//无参构造  为默认系统给的格式
        //自定义格式使用SimpleDateFormat的带参构造参数为自定义格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
        //使用SimpleDateFormat的格式化方法 public final String format(Date date)
        String s = sdf.format(d);
        System.out.println(s);  //2021年12月29日 11:50:47

        //解析:从String到Date
        String s2 = "2021-12-29 23:48:00";
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date d2 = sdf2.parse(s2);
        System.out.println(d2); //Wed Dec 29 23:48:00 CST 2021
    }
}

(3)案例:(日期工具类)

代码实现:

DateUtils:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils {
    //构造方法私有
    //成员方法静态
    private DateUtils() {
    }

    //用于把日期转换为指定格式的方法
    public static String dateToString(Date d, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String s = sdf.format(d);
        return s;
    }

    //用于字符串解析为指定格式的日期
    public static Date stringToDate(String s, String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date d = sdf.parse(s);
        return d;
    }
}

测试类:

import java.text.ParseException;
import java.util.Date;

public class DateDemo {
    public static void main(String[] args) throws ParseException {
        //测试日期工具类的格式化方法
        Date d = new Date();
        String format = "yyyy年MM月dd日 hh:mm:ss";
        String result = DateUtils.dateToString(d,format);   //静态成员方法通过直接访问类名.方法 如果是非静态方法,需要通过实例化对象访问
        System.out.println(result);//2021年12月30日 12:12:37

        //测试日期工具类的解析方法
        String s = "2021年12月30日 12:12:37";
        String format2 = "yyyy年MM月dd日 hh:mm:ss";
        Date Dresult = DateUtils.stringToDate(s,format);
        System.out.println(Dresult);//Thu Dec 30 00:12:37 CST 2021

    }
}

6.Calendar类概述

Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化:

Calendar rightNow = Calendar.getInstance();


7.Calendar的常用方法

image-20211230104901433

代码演示:

//获取对象
Calendar c = Calendar.getInstance();//多态的形式创建对象
System.out.println(c);

//public int get(int field)
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");//2021年12月30日
//10年后的5天前
//public abstract void add(int field,int amount)
c.add(Calendar.YEAR,10);
c.add(Calendar.DATE,-5);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");//2031年12月25日
//public final void set(int year,int month,int date)
c.set(2033,11,12);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");//2033年12月12日

目录
相关文章
|
1月前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
163 10
|
5天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
19天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
53 10
|
27天前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
44 6
|
27天前
|
Java API 开发者
Java中的Lambda表达式与Stream API的协同作用
在本文中,我们将探讨Java 8引入的Lambda表达式和Stream API如何改变我们处理集合和数组的方式。Lambda表达式提供了一种简洁的方法来表达代码块,而Stream API则允许我们对数据流进行高级操作,如过滤、映射和归约。通过结合使用这两种技术,我们可以以声明式的方式编写更简洁、更易于理解和维护的代码。本文将介绍Lambda表达式和Stream API的基本概念,并通过示例展示它们在实际项目中的应用。
|
1月前
|
安全 Java API
告别SimpleDateFormat:Java 8日期时间API的最佳实践
在Java开发中,处理日期和时间是一个基本而重要的任务。传统的`SimpleDateFormat`类因其简单易用而被广泛采用,但它存在一些潜在的问题,尤其是在多线程环境下。本文将探讨`SimpleDateFormat`的局限性,并介绍Java 8引入的新的日期时间API,以及如何使用这些新工具来避免潜在的风险。
39 5
|
1月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
57 2
|
29天前
|
安全 Java API
Java中的Lambda表达式与Stream API的高效结合####
探索Java编程中Lambda表达式与Stream API如何携手并进,提升数据处理效率,实现代码简洁性与功能性的双重飞跃。 ####
26 0
|
15天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
64 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
2天前
|
JSON 安全 API
淘宝商品详情API接口(item get pro接口概述)
淘宝商品详情API接口旨在帮助开发者获取淘宝商品的详细信息,包括商品标题、描述、价格、库存、销量、评价等。这些信息对于电商企业而言具有极高的价值,可用于商品信息展示、市场分析、价格比较等多种应用场景。