第五章:方法
1.对方法的理解
方法是完成特定功能的,相对独立的程序段,与其他编程语言中的子程序,函数等概念相同。
1.1方法的声明
在Java中方法的声明规则:
[修饰符] 返回值类型 方法名称 ([参数表]){
//方法体
}
//(1)方法声明包括方法头和方法体两部分(方法头是确定方法的名称,形式参数,的名称和类型)(方法体是一段代码块,用于执行方法的具体操作)
//(2)方法不能进行嵌套,在方法中不能声明另一个方法
//(3)修饰符:是一种关键字,用于修饰类,方法,变量等各种程序元素的声明。
//(4)返回值类型反映方法完成其功能后返回的运算结果的数据类型。当方法不需要返回值时,可以用 void 来修饰方法
2.方法的使用
2.1方法的调用
调用方法,即执行该方法。发出调用的方法称为主调方法,被调用的方法称为被调方法。
public static void main(String[] args){
sum(1,2);
//结果为 3
}
public static void sum(int a ,int b){
System.out.println(a+b);
}
2.2方法的返回值
方法的设计遵循功能单一原则,即一个方法只做一件事。利用return
关键字获取返回的值
public static void main(String[] atgs) {
int sum = sum(1, 2);
System.out.println(sum);
//结果为 3
}
public static int sum(int a, int b) {
return a + b;
}
2.3方法的参数
方法就是去做一件事,做这件事的结果是方法的返回值,那么方法的参数就是做这件事的前提
public static void main(String[] atgs) {
int sum = sum(1, 2);
//在这里1,2就是方法的参数,也是实参(实际参数)
System.out.println(sum);
//结果为 3
}
public static int sum(int a, int b) {
//这里的int a ,int b 就是形参(形式参数,用a,b代表1,2)
return a + b;
}
2.3.1可变长度参数
在Java中,可变长度参数,也称为可变参数或不定参数,可以在方法声明中使用,用与接受不确定数量的参数(可变长度参数会被当成一个数组处理,并且可变长度参数必须是最后一个参数)
可变长度参数:用 [参数类型] ... 参数名称
来实现
public class Main{
public static int sum(int...nums){
int result = 0;
for(int num : nums){
result += num;
}
}
return result;
}
public static void main (String[] args){
int result1=sum(1,2,3);
System.out.println(result1);
// 输出6 (1+2+3)
int result2=sum(1,2,3,4,5);
System.out.println(result2);
// 输出15 (1+2+3+4+5)
}
2.4变量的作用域和生命周期
变量的作用域:就是一个变量在定义之后可以在什么地方使用
变量的生命周期:就是变量在定义之后可以用多久,什么时候分配内存,什么时候从内存中回收
方法中定义的变量,称为局部变量,方法的形式参数也是方法的局部变量。
2.5递归
在Java中,递归是指一个方法或者函数在执行过程中调用自己的过程。
递归函数通常包括两部分:基本情况,递归情况;基本情况是指问题可以直接解决的情况,通常是递归函数的终止条件,避免无线递归。递归情况是问题需要进一步分解才能解决的情况,通常是递归函数中调用自身的部分。