JavaSE进阶_05_API

今日内容

​ 常用API 【重点】
​ 包装类 【重点】
​ 数组的高级操作 【重点】
​ 递归 【重点】

常用API 【重点】

API概述
    什么是API?
          class interface
    什么是API文档

    如何使用API文档?
        1、打开文档
        2、显示-索引
        3、在输入框中输入类名,鼠标双击找的类名,此时就会打开这个类的信息
        4、看类的信息
            (1)看包名,java.lang包下类使用的时候不需要导包,不是就需要导包
                 jdk可能会提供同名的类,但是这些类一定是不在相同的包下的,
                 这时到底需要使用哪个类要通过包名区分
            (2)类的描述信息
                类的作用、注意事项、使用方式、包含常用方法等...
            (3)类的声明
            (4)看构造方法
            (5)看成员方法

     当前使用API文档的要求:能查找我们学习过的类和类中的方法,并能正确使用即可。

Math类
    表示数学操作相关的类,在java.lang包下,使用的时候不需要导包
    是final修饰的类,这个类不能被继承,这个类属于工具类

    工具类(utils)
        特点:
            1、所有的方法都是静态的        -- 方便调用
            2、构造方法私有化             -- 不需要创建对象
    常用方法
        public static int abs(int a) 返回参数的绝对值
        public static double ceil(double a) 返回大于或等于参数的最小double值,等于一个整数
        public static double floor(double a) 返回小于或等于参数的最大double值,等于一个整 数
        public static int round(float a) 按照四舍五入返回最接近参数的int
        public static int max(int a,int b) 返回两个int值中的较大值
        public static int min(int a,int b) 返回两个int值中的较小值
        public static double pow (double a,double b) 返回a的b次幂的值
        public static double random() 返回值为double的正值,[0.0,1.0)


System类
表示系统相关类
常用方法
public static void exit(int status) 终止当前运行的 Java 虚拟机,非零表示异常终止
public static long currentTimeMillis() 返回当前时间(以毫秒为单位)
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
数据源数组
数据源数组起始索引
目的地数组
目的地数组起始索引
拷贝个数

Object类
    是所有类的基类(超类/根/祖先),所有的类都直接或者间接继承至Object类,Object类中的方法也可以被继承下来。
    
    常用方法
        * String toString()  :返回该对象的字符串表示。
            1、如果一个类中没有编写toString方法也可以使用,因为继承至Object类
            2、Object类中的toString是将对象变为字符串,但是它的字符串格式为: 全类名@地址值,但是这种格式的字符串对我们来说意义不大
            3、以后我们自定义类的时候,如果需要使用toString方法的时候,都会对这个方法进行重写,不光我们对toString方法进行了重写
                JDK提供的大部分类都对toString方法进行了重写,比如:String/ArrayList/StringBuilder
            4、如何重写toString方法呢?重写的原则是为了看到对象中的内容(成员变量的值),方便测试使用看结果的
                idea都提供了快捷键,alt+insert+toString
            5、直接通过输出语句打印一个对象的时候,默认调用的是对象的toString方法。

        * boolean equals(Object obj) :判断两个对象是否相同
            Object类中的equals底层使用的是== ,它比较的地址值,和==的作用是一样的
            因为要比较地址是否相等,直接使用==即可,所以实际开发中如果使用到equals方法也会进行重写,
            重写的原则是,比较两个对象的内容是否相同
            idea都提供了快捷键,alt+insert+ hashCode和equals

        面试题:==和equals的区别
                ==既可以比较基本数据类型,也可以比较引用数据类型
                    比较基本数据类型比较的是值是否相等,比较引用数据类型比较的地址值是否相等

                equals()方法只能比较引用类型数据,不能比较基本类型数据
                    比较的引用类型的时候,如果没有重写equals方法,那么比较的也是地址值,因为底层是==
                    如果重写了equals方法,比较的就是内容,比如:在比较字符串的时候,其比较的内容是否相等

BigDecimal类
    BigDecimal(double val)
    BigDecimal(String val)

    常用方法
        public BigDecimal add(另一个BigDecimal对象) 	加法
        public BigDecimal subtract (另一个BigDecimal对象)  减法
        public BigDecimal multiply (另一个BigDecimal对象)  乘法
        public BigDecimal divide (另一个BigDecimal对象)    除法
        public BigDecimal divide (另一个BigDecimal对象,精确到小数点后几位,舍入模式)    除法

包装类 【重点】

什么是包装类
    基本数据类型所对应的引用类型
    
基本类型对应包装类
    基本类型        包装类
    byte            Byte
    short           Short
    int             Integer
    long            Long
    float           Float
    double          Double
    char            Character
    boolean         Boolean

    int和char对应的包装类比较特别,其他都是首字母小写变成大写

Integer
    创建对象的方式:        【了解】
        public Integer(int value)   		根据int创建Integer对象(过时)
        public Integer(String s)    		根据String值创建Integer对象(过时)
        public static Integer valueOf(int i)    返回表示指定的int值的Integer实例
        public static Integer valueOf(String s) 返回一个保存指定值的Integer对象String

    自动拆装箱
        JDK1.5的新特性,JDK1.5之前不会自动拆装箱,如果要操作需要手动完成
        自动装箱
            把基本数据类型转换为对应的包装类类型
            int -> Integer
            Integer i = 10;// 自动装箱的底层:Integer i = Integer.valueOf(10);
        自动拆箱
            把包装类类型转换为对应的基本数据类型
            Integer -> int
            int i2 = i;// 自动拆箱的底层:int i2 = i.intValue();

    面试题:
        public class Test1 {
            public static void main(String[] args) {
                // -128 ~ 127
                Integer i1 = 127;// Integer i1 = Integer.valueOf(100);
                Integer i2 = 127;// Integer i2 = Integer.valueOf(100);
                System.out.println(i1==i2);// true
                System.out.println(i1.equals(i2));// true


                System.out.println("----------");
                Integer i3 = 128;// Integer i3 = Integer.valueOf(200);
                Integer i4 = 128;// Integer i4 = Integer.valueOf(200);
                System.out.println(i3==i4);// false
                System.out.println(i3.equals(i4));// true
            }
        }

    包装类的操作
        1、包装类和基本数据类型互转
            int -> Integer   自动装箱
            Integer -> int   自动拆箱
       2、基本类型和字符串类型数据互转
            String -> int
                * Integer.parseInt("123");// 123
            int -> String
                * + ""
                * String.valueOf(123); // "123"

数组的高级操作 【重点】

​ 二分查找
​ 冒泡排序

Arrays
快速排序

递归 【重点】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值