方法
Java方法是语句的集合
举例:
//加法的方法
public static int add(int a,int b){
return a+b;
}
概念上类似于c语言的函数
设计原则:一个方法只完成一个功能
格式:
修饰符 返回值类型 方法名(参数类型 参数名){
//方法体
return 返回值;
}
修饰符:(可选)告诉编译器如何调用该方法,定义了该方法的访问类型
返回值类型:有返回值时定义返回值的类型(例如int double),没有返回值时void,仅执行操作
方法体:该方法所要完成的功能
返回值:void不需要return返回值,方法返回一个值时,方法调用通常被当成一个值来处理
形式参数:方法中所用到的参数,如上述的a和b就是形式参数
实际参数:在主程序中定义的参数,实际调用传递给方法的数
方法的重载:方法的类型名可以相同,但是内部的参数可以不同
拿上面的举例:
public static double add(double a,double b)//第一个
public static int add(int a,int b)//第二个
当调用自己定义的add方法时,如果实参是两个int类型的整数就会调用第二个add方法,两个double类型小数就会调用第一个add方法
名字可以相同,但是括号内的!!!!!!!参数类型!!!!!需要不同,形参名字也可以相同
可变参数
在方法声明中,在指定参数类型后加一个省略号…
一个方法中只能有一个可变参数,必须是方法的最后一个参数,任何普通参数必须在其之前声明
例子:
public static void add(int... a)//在main函数中调用时可以输入任意个int函数
//调用,类名为Demo
Demo demo = new Demo();
demo.add(...a:1,2,3,4,5);//任意数量的int函数都可以
递归
递归就是:A方法调用A方法,自己调用自己
递归结构包括两部分:递归头和递归体
递归头:什么时候不调用自身方法。如果没有头就会陷入死循环
递归体:什么时候需要调用自身方法
举例:阶乘的递归函数
public static int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}