方法/函数
定义
实现特定功能的代码,可反复使用
命名规定 驼峰命名法(首字母小写拼接单词每个首字母大写)
将需要在多个位置重复使用的一组代码,定义在方法内部
public static 返回值类型 方法名(参数列表){ //遵从标识符命名规范
//方法主体(功能代码)
(return 返回值;)
}
定义位置
类的内部 与main方法并列
//位置1
public class Test{
//位置2
public static void main(String[] args){
//位置3
}
//位置4
}
//位置5
//正确位置:位置2、位置4
方法的调用
在需要执行方法代码的位置 通过方法名称进行调用
调用方式:方法名();
注意:调用方法时 会优先执行方法中的内部代码,结束后 返回方法调用处 继续往下执行
方法的参数
概念:调用方法时所传入的数据称为参数可分为形参和实参两种 参数个数可以没有也可以有多个 根据具体的需求定义参数个数
作用:让代码功能更加的灵活、普适性更高、易于维护及修改
形参
形式参数等同于局部变量的声明 写在方法定义时小括号内
定义语法
public static void 方法名称(形式参数){
//方法主体
}
实参
实际参数等价于局部变量的声明 写在方法调用时小括号内
调用语法 :方法名称(实际参数);
注意:调用时应注意他的参数类型 个数 顺序
方法的返回
作用
根据要求返回一个结果
类型
基本数据类型 (byte short int long double float boolean char)
引用数据类型(String 数组 对象)
void(无返回值)
语法
变量= 方法名称();
变量类型与返回值类型须一致
方法的分类
-
无参数无返回值方法
格式:修饰符 void 方法名(){ }
public void test(){ }
-
有参数无返回值方法
格式:修饰符 void 方法名(数据类型 变量名){ }
public void test(int index){ }
-
有参数有返回值方法
格式:修饰符 返回值类型 方法名(数据类型 变量名){ }
public int test(int index){ }
return关键字
-
应用在具有返回值类型的方法中:
return value; //结束当前方法,并伴有返回值,返回到方法调用处
-
应用在没有返回值类型的方法中:
return; //表示结束当前方法,直接返回到方法调用处
-
一个方法有且只能有一个return作为出口(分支结构判断结构须确定每条分支都有return)
小结
- 一个类可以定义多个方法,方法直接属于并列关系,不可嵌套
- 一个方法只做一件事(单一职能原则)
- 好处:
- 减少代码冗余
- 提高复用、可读、可维护性
- 方便分工合作
递归
什么是递归?
解决具有既定规律问题时,在方法内部再次调用自身方法的一种编程方式
多级调用:方法中调用方法
何时使用递归?
- 当解决问题可以拆分成若干个小问题,大小问题的解决方法相同,方法自己调用自己
- 使用循环的常规问题,都可替换成递归解决
如何正确使用?
设置有效出口条件,让调用方法可以正确的返回,避免无穷递归