方法:就是一个黑匣子,来完成某些具体的业务
- 方法命名规则:第一单词是动词,后面跟若干个单词,每个单词首字母大写 驼峰式命名法
- 方法结构:
- 访问修饰符 修饰符 返回类型 方法名称(方法参数列表){
- 方法体;
- 返回值;
- }
- 方法展现形式:无参无返回类型、有参无返回类型、无参有返回类型、有参有返回类型
- 方法的调用:对象.方法名(参数), 类.方法名(参数)
- 在普通方法中方法可以直接调用当前类中的其它方法。
- 当方法返回一个值时,方法调用被当做一个值;若返回值是void,方法调用一定是条语句。
- 方法传参:
- 形参:定义方法时的参数
- 实参:调用方法时传递的参数
- 1、传值:八种基本数据类型作为参数传递时,形参改变,实参不会随之改变。还包括String
- 2、传地址(传引用):三种引用类型,传引用类型时只是把地址传递过去,形参改变,实参随之改变
- 可变参数:在指定参数类型后加一个省略号(…),一个方法只能指定一个可变参数
public class Method01 {
public static void main(String[] args) {
Method01 method01 = new Method01();
method01.test(1,2,3,4,5);
}
public void test(int... i){//可变参数
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
}
}
递归:是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。即为函数不断引用自身,直到引用的对象已知。
使用递归解决问题,思路清晰,代码少。但是在主流高级语言中(如C语言、Pascal语言等)使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制时(如嵌入式系统或者内核态编程),应避免采用。所有的递归算法都可以改写成与之等价的非递归算法。
常解决8皇后、汉诺塔、阶乘、迷宫问题,快速排序、归并排序、二分查找、分治算法等算法问题,以及需要用栈解决的问题。