什么是方法
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
修饰符 返回值类型 方法名 (参数1,参数2...) {
...
方法体
...
return 返回值;
}
方法调用
对象名.方法名(实参列表)
需要new一个对象,然后通过对象调用方法
直接调用
要求被调用方法与main()方法一样都为静态方法
方法的重载
重载就是在一个类中有相同的方法名称,但形参不同的方法
方法重载的规则
- 方法名称必须相同
- 参数列表必须不同(参数个数,参数类型等)
- 方法的返回类型可以相同也可以不相同
- 仅仅返回类型不同不足以成为方法的重载
可变参数(不定项参数)
什么是可变参数
JDK1.5开始,Java支持传递同类型的可变参数给一个方法
在方法声明中,在指定参数类型后加一个省略号
一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,任何普通参数必须在它之前声明。
public void test(int... i){
}
实例
代码
public class variableParameters {
public static void main(String[] args) {
//这里使用实现对象的形式来调用方法
variableParameters variableParameters = new variableParameters();
variableParameters.test(1,2,3,4);
}
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]);
}
结果
注意
可变参数实际上是一个数组,只是传参形式和数组传参形式不同,使用时同样使用下标取值
递归
什么是递归
递归就是A方法调用A方法,即自己调用自己
public class Recursion {
public static void main(String[] args) {
System.out.println(test(5));
}
/**
* 实现简单的递归 5*4*3*2*1
*
*/
public static int test(int i) {
if(i==1){
return 1;
}
else{
return i*test(i-1);
}
}
}
注意
当递归次数较多时,不建议使用递归的方法,会浪费大量电脑资源
且递归必须要有边界条件,不然将陷入死循环