Java中常用的API

API(Application Programming interface)  应用程序编程接口

简单来说就是:Java帮我们已经写好的一些类和方法,我们直接拿过来用就可以了

Object类

Object类介绍:

所有的类,都直接或者间接的继承Object类

Object类的方法是一切子类都可以直接使用的

Object的toString方法:

public String toString():默认是返回当前对象在堆内存中的地址信息:类的全类名@十六进制哈希值

toString存在的意义:

父类 toString() 方法存在的意义就是为了被子类定义,以便返回对象的内存信息,而不是地址信息

package com.bingyi.Object;

public class toStringDemo1 {
    public static void main(String[] args) {
        A a = new A();
        System.out.println(a);
        System.out.println(a.toString());
    }
}

class A {
    @Override
    public String toString() {
        return super.toString();
    }
}

重写之后: 

package com.bingyi.Object;

public class toStringDemo1 {
    public static void main(String[] args) {
        A a = new A();
        System.out.println(a);
        System.out.println(a.toString());
    }
}

class A {
    @Override
    public String toString() {
        return "重写toString方法";
    }
}

 Object的equals方法:

public boolean equals(Object  o):默认是比较当前对象与另一个对象的地址是否相同,相同的返回true,不同的返回false

equals存在的意义:

父类equals方法存在的意义就是为了被子类重写,一遍子类自己来制定比较规则

 重写equals方法:

@Override
    public boolean equals(Object obj) {
        if (obj instanceof Student) {
            Student stu = (Student) obj;
            return this.age == stu.age && this.name.equals(stu.name);
        } else {
            return false;
        }

    }

Objects概述

Objects类与Object还是继承关系,Objects类是JDK 1.7开始之后才有的

Objects的常见方法:

方法名:public static boolean equals(Object a,Object b)

说明:比较两个对象的,底层会先进行非空判断,从而可以避免空指针异常,再进行equals比较

方法名:public static isNull(Object obj)

说明:判断变量是否为null

package com.bingyi.Object;

import com.mstatic.test.Student;

import java.util.Objects;

public class equalsDemo2 {
    public static void main(String[] args) {
        Student stu1 = new Student("张三", 77, 8);
        Student stu2 = new Student("张三", 77, 8);
        System.out.println(Objects.equals(stu1, stu2));
    }
    
}

问题:Objects.equals方法,和stu1.equals方法,有什么区别?

          1.Objects.equals方法,内部有依赖于我们自己所编写的equals

          2.Objects.equals方法,内部带有非空判断

public static boolean equals(Object a, Object b) {
        return (a == b) || (a != null && a.equals(b));
    }

Math类

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

Math类的常用方法:

public static int abs(int a): 获取参数绝对值

public static double ceil(double a):向上取整

public static double floor(double a):向下取整

public static int round(float a): 四舍五入

public static int max(int a,int b): 获取两个int值中的较大值

public static int min(int a,int b): 获取两个int值中的较小值

public static double random(): 返回值为double的随机值,范围【0.0-1.0】

public static double pow(double a,double b): 返回a的b次幂的值

System类 

 概述:System的功能是静态的,都是直接用类名调用即可

常用方法:

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

public static long currentTimeMillis():返回当前系统的时间毫秒值形式

public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数):数组拷贝

BigDectmal类

概述:

用于解决小数运算中,出现的不精确问题 

BigDecimal类的使用

创建对象:

public BigDecimal(double val)

 不推荐,无法保证小数的精确

package com.bingyi.Object;

import java.math.BigDecimal;

public class BigDecimaleDemo1 {
    public static void main(String[] args) {
        BigDecimal bd1 = new BigDecimal(0.1);
        BigDecimal bd2 = new BigDecimal(0.2);
        System.out.println(bd1.add(bd2));
    }
}

public BigDecimal(String  val)

package com.bingyi.Object;

import java.math.BigDecimal;

public class BigDecimaleDemo1 {
    public static void main(String[] args) {
        BigDecimal bd1 = new BigDecimal("0.1");
        BigDecimal bd2 = new BigDecimal("0.2");
        System.out.println(bd1.add(bd2));
    }
}

public static BigDecimal valueOf(double val) 

package com.bingyi.Object;

import java.math.BigDecimal;

public class BigDecimaleDemo1 {
    public static void main(String[] args) {
        BigDecimal bd1 = BigDecimal.valueOf(0.1);
        BigDecimal bd2 = BigDecimal.valueOf(0.2);
        System.out.println(bd1.add(bd2));

    }
}

常用成员方法:

public BigDecimal add(BigDecimal b):加法

public BigDecimal subtract(BigDecimal b):减法

public BigDecimal multiply(BigDecimal b):乘法

public BigDecimal divide(BigDecimal b):除法

public BigDecimal divide(另一个BigDecimal对象,精确几位,舍入模式):除法(除不尽)

包装类

概述

将基本数据类型,包装成类(变成引用数据类型)

 Integer类

手动装箱:将基本数据类型,手动包装成类

public Integer(int value):通过构造方法

public static Integer valueOf(int i):通过静态方法

package com.bingyi.Object;

public class IntegerDemo {
    public static void main(String[] args) {
        int num = 10;
        Integer integer = Integer.valueOf(num);
        System.out.println(integer);

    }
}

手动拆箱:手动将包装类,拆成(转换)基本数据类型

public int intValue():以int 类型返回该Integer的值

package com.bingyi.Object;

public class IntegerDemo {
    public static void main(String[] args) {
        int num = 10;
        Integer integer = Integer.valueOf(num);
        int i = integer.intValue();
        System.out.println(i);
    }
}

Integer常用方法:

public static String toBinaryString(int i):转二进制

public static String toOctalString(int i):转八进制

public static String toHexString(int i):转十六进制

public static String parseInt(int i):将数字字符串,转换为数字

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰逸.itbignyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值