方法:是执行特殊功能的代码块
方法的好处:
1.提高的复用性,提高开发效率
2.将每个特殊功能的代码进行独立,从而降低代码的耦合性
耦合性:
方法的格式:
修饰符 返回值类型 方法名 (形参类型1 形参名1,形参类型2 形参名2,…) {
方法体;
return 返回值;
}
修饰符: 因为目前没有学习修饰符,直接用public static替代
返回值类型:返回值的数据类型
基本数据类型
引用数据类型
无返回值类型
方法名:给方法起的名字,见名知意
():形参列表,方法里面需要用到调用者方法里面的数据时,需要通过参数传递方式
基本数据类型
引用数据类型
没有数据类型:()什么都不写
方法体:特殊功能性的代码
return:
(1)结束方法
(2)如果return后面有返回值,在结束方法同时将返回值返回给调用者
返回值:方法最后的运行结果,需要将返回值返回给方法的调用者
两个明确:
1.返回值类型:到底是哪个数据类型
2.形参列表
确定形参列表中有几个参数
确定每个参数的数据类型
需求:定义方法实现两个整数的求和计算
方法的特点:
不调用,不执行
方法的调用:
1.如果方法属于类(后面讲解)
类名.方法名(实参);
2.如果方法属于对象(后面讲解)
对象名.方法名(实参);
3.调用同一个类中的方法
直接调用:
方法名(实参);
输出调用:
System.out.println(方法名(实参));
赋值调用:
数据类型 变量名 = 方法名(实参);
数据类型 变量名 = 初始化值;
实参(实际参数):有具体的数据值的,理解为变量定义格式中的初始化值
出现在方法调用的格式中
形参(形式参数):没有具体的数据值,理解为变量定义格式中的数据类型和变量名
出现在方法定义的格式中
void 关键字:
无返回值类型
void 关键字的注意事项:
1.在方法没有合适的返回值的时候,返回值类型的位置不能什么都不写,需要用到void关键字进行占位
2.当方法的返回值类型是void时,调用的方式只能是单独调用
方法返回值类型为void时,只能使用单独调用
方法返回值类型不是void时,推荐使用赋值调用
3.当方法的返回值类型是void时,方法后面的return关键字可以省略不写
可变参数的注意事项:
1.当方法除了可变参数外,还存在其他的参数时,需要将可变参数定义到形参列表最后
2.一个方法最多只能含有一个可变参数
方法的注意事项:
1.方法与方法是并行,定义方法的格式时不能出现方法的嵌套
方法的定义位置,类中方法外
2.当返回值是void的时候
a.调用方式只能选择直接调用
b.return关键字可以省略不写
3.当返回值是void的时候,只能选择直接调用;
当返回值不是void的时候,推荐选择赋值调用
4.在一个方法中,可以存在多个return语句,但是最终执行的return只能有一个
### 方法的重载:
在同一个类中(或者子父类继承关系中)出现多个方法名相同,形参列表不同的现象
前提条件:
1.方法名必须相同
2.形参列表必须不同(至少满足以下一点)
a.形参的数据类型不同
b.形参的个数不同
c.形参的数据类型的顺序不同
方法中参数的特点:
实际参数
形式参数
方法的形参是基本数据类型的时候
1.传递的是变量的数据值
2.形参数据值的改变不影响实际参数的数据值
形参是引用数据类型的时候:
1.传递的是引用数据类型的内存地址值
2.形参内存地址值的改变不影响实际参数的内存地址值
3.形参内存地址值不改变,形参内存地址值里面的数据值改变影响实际参数的内存地址值里面的数据
递归:
就是方法自身调用自身
前提条件:
1.递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
2.在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
递归的好处
应用递归可以解决一些特殊情况的问题
递归的弊端
1.约束条件太多
2.阅读性太差
3.演示,效率太低了