方法
(1)方法的定义:就是完成特定功能的代码块。
注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。
(2)格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return 返回值;
}
返回值类型:就是功能结果的数据类型
方法名:就是起了一个名字,方便我们调用该方法。
参数类型:就是参数的数据类型
参数名:就是变量(一般不超过5个)
参数分类:
实参:实际参与运算的数据
形参:方法上定义的,用于接收实际参数的变量
方法体语句:就是完成功能的代码块
return:结束方法
返回值:就是执行完功能的结果,由return带回给调用者。
(3)两个明确:每个方法都应该明确需要的参数和返回值的结果
返回值类型:结果的数据类型,结果是什么类型,就使用何种类型接受返回值
参数列表:参数的个数及对应的数据类型,需要什么类型的参数,就传递何种参数
(4)方法调用
A:有明确返回值的方法
a:单独调用,没有意义
b:赋值调用,推荐方案
B:void类型修饰的方法
a:单独调用
(5)方法的注意事项
A:方法不调用不执行
B:方法之间是平级关系,不能嵌套定义,但可以嵌套使用
举例:main方法中可以调用其他方法,但是不能定义方法
C:方法定义的时候,参数是用 , 隔开的
D:方法在调用的时候,不用在传递数据类型,直接传输指定的变量
E:如果方法有明确的返回值类型,就必须有return语句返回,而且是肯定能够执行的return语句。
(6)方法重载
在同一个类中,方法名相同,参数列表不同。与返回值无关。
参数列表不同:
参数的个数不同。
参数的对应的数据类型不同。
1 int sum( int a, intb){2 return a + b; //返回两个整数的和
3 }4
5 String sum(String a, intb){6 return a + b; //返回字符串和整数的连接,其结果仍为一个字符串
7 }
(7)递归方法
概念:递归是一种比较特殊的方法,它是指在方法的定义中调用了本身的现象
应用:可以使用递归解决的问题,都是有一个非常明显的规律。
注意事项:
1.递归必须要有出口,否则就是一个死递归
2.递归的层次不能过多,否则就有可能会造成内存溢出的异常
3.递归用的最多的还是在树的遍历中,比如遍历文件的所有目录
/*举例:数的阶乘*/
public int factorial (intmaxNum){if(maxNum == 1){return 1; //递归的出口
} else{return maxNum*factorial(maxNum-1); //规律
}
}