方法
Java方法是语句的集合,他们在一起执行一个功能,方法是解决一类问题的步骤的有序组合,方法包含与类或对象之中,方法在程序中被创建,在其他地方被引用。
设计方法的原则:一个方法只完成一个功能。
方法包含一方法头和一个方法体。
修饰符 返回值类型 方法名 (参数类型 参数名){
方法体
return 返回值
}
实际参数和形式参数类型一致
方法的重载
重载就是一个类中有相同的函数名称,但形参不同的函数
规则:方法名称必须相同,参数列表必须不同(个数不同,类型不同,参数排列顺序不同)
方法的返回类型可以相同也可以不同,仅仅返回类型不同不足以构成方法重载
可变参数
在方法声明中,在指定参数类型后加一个省略号(…)
构造器
- 和类名相同
- 没有返回值
- new 的本质在调用构造方法
- 初始化对象的值
- 定义有参构造之后,如果想用无参构造,显示定义的一个无参构造
- 快捷键 alt+ insert
递归
递归就是方法自己调用自己
递归结构包括 递归头:什么时候不调用自身方法如果没有头将陷入死循环。
递归体:什么时候需要调用自身方法
创造一个边界条件:
前阶段
返回阶段
数组
数组定义方式 数组类型[] 数组名
长度是确定的,数组一旦被创建,他的大小不可改变
元素必须是相同类型,包括基本类型和引用类型
数组变量是引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。啥机子对象本身是在堆中
数组的边界:[0,length-1]
数组是相同元素的有序集合,数组也是对象,数组长度不可变,避免越界
Arrays 类
数组的工具类
类名直接调用
可以查看JDK文档有很多方法直接调用
冒泡排序(8大排序)
外层循环 判断这个循环要走多少次
内层循环,比较判断两个数,如果第一个数比第二个数大或者小则交换位置
每次排序都会产生一个最小或者最大的数,下一轮可以减少一次排序依次循环直到结束
时间复杂度为O(n^2)
稀疏数组
记录数组有几行几列 有多少个不同的值
把具有不同值得元素和行列及值记录在一个小规模数组中从而压缩小程序得规模
行(row) | 列(col) | 值(value) | |
---|---|---|---|
[0] | |||
[1] | |||
[2] |