java相关类的总结(Object、String、Math、StringBuilder、System、BigDecimal)

什么是API?

  • API应用程序编程接口

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

apl 是应用程序编程接口

java写好的技术(功能代码,)咱们可以直接调用。

oracle也是java提供的这些功能代码提供了相应的APL文档(技术使用说明书).

Object类的作用:

  • 一个类要么默认继承Object类,要么间接继承了Object类,Object类是java中的祖宗类。

  • Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类的方法。

Object类的常用方法:

public String toString() //默认是返回前对象在堆内存中的地址信息;类的权限名@内存地址
     
public Boolean equals(Object o) // 默认是比较当前对象与另一个对象的地址是否相同,相同返回turn ,不同返回false

问题引出

  • 开发中直输出对象,默认输出对象的地址其实是毫无意义的。

  • 开发中输出对象变量,更多的时候是希望看到对象的内容数据而不是对象的地址信息。

toString存在的意义

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

object的equals方法:

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

问题思考

直接比较两个对象的地址是否相同完全可以用 “==”代替equals.

equals存在的意义

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

@Override
    public boolean equals(Object o) {
        // 判断是否和自己比较
        if (this == o) return true;
        // 判断传入的对象是否为空   传入对象的类型是否一致
        if (o == null || getClass() != o.getClass()) return false;
        // 强制转化为学生类
        Student student = (Student) o;
        //
        return age == student.age &&
                Objects.equals(name, student.name);
    }

Objects概述

  • Object类与Object还是继承关系,Objects类是从jdk1.7开始之后才有的。

  • Object的equals方法比较的结果是一样的,但是更安全。

Objects的常见方法:

public static boolean equals(Object 0,Object b) //比较两个对象的,底层会先进行非判断,从而可以避免空指针异常。在进行equals比较
punlic static boolean isNull(Object obj)// 判断变量是否为null,为nul返回值true,反之

StringBuilder概述

  • StringBuilder是一个可变的字符串类,我们可以把它看成是一个对象容器。

  • 作用:提高字符串的操作效率,如拼接、修改等。

public StringBuilder() //创建一个空白的可变的字符串对象,不包含任何内容。
public StringBuilder(String str) //创建一个指定字符串内容的可变字符串对象

StringBuilder常用方法

public StringBuilder append(任意类型)  添加数据并返回StringBuilder对象本生
public StringBuilder reverse()        将对象的内容反转
public int length()              返回对象内容长度
public String toString()           通过toString()就可以实现把StringBuilder转换成String

Math类

包括执行基本数字运算的方法,Math类没有提供公开的构造器。

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

Math类的常用方法

public static int abs(int s)   //获取参数绝对值
public static double cail(double a)  // 向上取整
public static double floor(double a)  //向下取整
public static int round(foalt a ) // 四首五入
public static int max(int a,int b) // 获取最大值
public static double pow(double a,double b) // 返回a的b次幂的值
public static double random() //返回值为double的随机值,范围[0.0,1.0)

System类概述

System的功能是通用的,都是直接用类名调用即可,所以System不能被实例化。

System类的常用方法

public static void exit(int status)  //终止当前运行的java虚拟机,非零表示异常终止
public static long currentTimeMilis() //返回当前系统的时间毫秒值形式
public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)   数组拷贝

BigDecimal作用

用于解决浮点型运算精度失真的问题

使用步骤

  • 创建对象BIgDecimal封装浮点数型数据(最好的方式是调用方法)

  • public static BIgDecimal valueOf(double val); 包装浮点数成为BigDecimal对象。

BigDecima常用APl

public BigDecimal add(B..D..... b)   加法
public BigDecimal subtract(B..D.... b)  减法
public BigDecimal divide(B..D.... b)    除法
public BigDecimal multiply(B..D..... b) 乘法
public BigDecimal divide(另一个BigDecimal对象,精确几位,舍入模式)  除法

String概述

java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。

String类的特点是

String其实常被称为不可变字符串类型,它的对象在创建后不能被更改。

1.String是什么,可以做什么?

字符串类型,可以定义字符串变量指向字符串对象。

2.String是不可变字符串的原因?

String变量每次的修改其实都是产生并指向新的字符串对象。

原来的字符串对象都是没有改变的,所以称不可变字符串。

String s2 ="an"; String s3 = "b"; 这两个常量地址池不一样

String s2 ="an"; String s3 = "an"; 这两个常量地址池是一样

  1. 字符串对象的特点有那些?

    双引号创建的字符串对象,在字符串常量池中存储同一个。

    通过new 构造器创建的字符对象,在堆内存中分开存储。

双引号给出的字符串对象,存在于堆内存中的常量池中,相同部分只会存储一份。

new 字符串对象的,每new 一次都会在堆内存中产生一个字符串对象。

startsWith(String prefix,int toffest) prefix 是前缀 toffest 是字符串中开始查找的位置。

comparaTo() 函数来比较字符串的大小。

在java中字符串有String类,不是以\0作为结束依据。

Java里面一切都是对象,字符串String类中有获取长度方法,编译器就可以确定要输出的字符个数,当然也就没有必要去浪费那1字节的空间用以标明字符串是否结束。(String类有length()方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值