API,包装类,数组高级操作,递归

API,包装类,数组高级操作,递归

API

什么是API

就是java提供的类以及类中的方法

如何使用API帮助文档

找到索引选项卡中的输入框

在输入框中输入类名

查看包,成员说明

常见API

Math

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

System

提供一些列的方法,例如提供了标准的输入,输出,和错误输出

Object

所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份

BigDecimal

用来精确计算

构造方法

BigDecimal(double val)

BigDecimal(String val)

常用方法

add()参数是另一个BigDecimal对象(加法)

subtract()参数是另一个BigDecimal对象(减法)

multiply()参数是另一个BigDecimal对象(乘法)

divide()参数是另一个BigDecimal对象(除法)

特殊方法

BigDecimal是用来进行精确计算的

创建BigDecimal的对象,构造方法使用参数类型为字符串的

四则运算中的除法,如果除不尽使用divide的三个参数方法

参数1.表示参与运算的BigDecimal对象

参数2.表示小数点后面精确到多少位

参数3.舍入模式:

BigDecimal.ROUND_Up进一法

BigDecimal.ROUND_FLOOR去尾法

BigDecimal.ROUND_HALF_UP四舍五入

包装类

基本数据类型与包装类的对应关系

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

Integer

什么是Integer

对象中包装了原始类型int的值

获取对象

静态方法:

public static Integer valueOf(int i)

返回表示指定的int值的Integer实例

public static Integer valueOf(String s)

根据String值创建Integer对象

自动拆箱和自动装箱

  • 自动装箱:把基本类型转换为对应的包装类类型,调用的静态方法valueOf(),将一个int类型变成Integer类型
  • 自动拆箱:把包装类类型转换为对应的基本数据类型,调用的对象的intValue方法,将一个Integer类型变成int类型

类型转换

  • String转int : Integer.valueOf(“123”)
  • int转字符串:
    • + 任意字符串
    • String.valuseOf(123)

二分查找

什么是二分查找

二分查找也叫折半查找,每次可以去掉一半的查找范围,从而提高查找的效率

二分查找的前提条件

数组内的元素一定要按照大小顺序排列(从小到大或者从大到小),如果没有大小顺序,是不能使用二分查找法的

二分查找的实现步骤

1.定义两个变量,表示要查找的范围.默认min= 0,max=最大索引

2.循环查找,但是min<=max

3.计算除mid的值

4.判断mid位置的元素是否为要查找的元素,如果是直接返回对应索引

5.如果要查找的值在mid的左半边,那么min的值不变,max=mid-1.继续下次循环查找

6.如果要查找的值在mid的右半边,那么max值不变,min=mid+1.继续下次循环查找

7.当min>max时,表示要查找的元素在数组中不存在,返回-1

冒泡排序

什么是冒泡排序

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

冒泡排序的特点

如果由n个数据进行排序,总共需要比较n-1次

每一轮比较完毕,下一次的比较就会少一个数据参与

冒泡排序算法中,一次循环结束,就相当于确定了当前的最大值,也能确定最大值在数组中应存入的位置

快速排序

什么是快速排序

快速排序算法中,每一次递归时以第一个数为基准数,找到数组中所有比基准数小的,再找到所有比基准数大的,小的全部存左边,大的全部放右边,确定基准数的正确位置

核心步骤

  1. 从右边开始找比基准数小的
  2. 从左边开始找比基准数大的
  3. 交换两个值的位置
  4. 红色继续往左找,蓝色继续往右找,直到两个箭头指向同一个索引为止
  5. 基准数归位

Arrays

什么是Arrays类

该类包含用于操作数组的各种方法

常用方法

public static String toString(int[] a)

public static void sort(int[] a)

public static int binarySearch(int[] a ,int key)

递归

什么是递归

递归就是方法自己调用自己(类似循环),通过每次传入的参数不同,可以解决复杂的问题

递归解决问题的思路

递归算法可以把本身问题分解规模小的同类问题,通过求解规模小的同类问题的解来解决问题

递归解决问题的三大步骤

明确你这个方法想要干什么

寻找递归结束条件,找出当参数为什么时,可以直到方法的结果,直接返回结果

找出方法的等价关系式.将大问题拆分成小问题,决定每次调用方法时参数缩小的范围

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值