方法是什么
java的方法是语句的集合,他们在一起执行一个功能
- 方法是解决一类问题的有序集合
- 方法包含在类或对象中
- 方法在程序中创建,在其他地方引用
设计方法的原则
方法的原子性:就是一个方法只完成一个功能,这样有利于后期扩展
命名规则:驼峰命名
public static int add(int a,int b){
return a+b;
}
修饰符 返回值类型 方法名 (参数类型 参数名){
...
方法体
...
return 返回值;
}
方法的重载
重载是在一个类中,有相同的函数名称,但形参不同。
方法的重载规则
- 方法名必须相同
- 参数列表必须不同(个数不同,或参数不同、参数排列顺序不同)
- 方法的返回值类可以相同也可以不同
- 仅仅返回值类型不同,不足以成为方法的重载
可变参数
在方法声明中,在指定的一个参数类型后加一个省略号(...)。
在一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,任何普通的参数必须放在他之前声明。
public class Demo08 {
public static void main(String[] args) {
int add = add(1, 2, 3, 3, 4, 5);
System.out.println(add);
}
public static int add(int ... x){
int m = 0;
for (int i = 0; i < x.length; i++) {
m = m+x[i];
}
return m;
}
}
递归(不推荐使用)
递归就是:A方法调用A方法!自己调用自己。
利用递归可以用简单的程序解决一些复杂的问题
但不推荐使用
递归的结构
- 递归头:什么时候不调用自身方法,如果没有头就会进入死循环。
- 递归体:什么时候调用自身方法。
public class Demo08 {
public static void main(String[] args) {
int f = f(5);
System.out.println(f);
}
//5! 5*4*3*2*1
/*
f(5) = 5*f(4) = 120
f(4) = 4*f(3) = 24
f(3) = 3*f(2) = 6
f(2) = 2*f(1) = 2
f(1) = 1
*/
public static int f(int i){
if (i==1){
return 1;
}else {
return i*f(i-1);
}
}
}
递归缺点
1、时间和空间的消耗比较大
2、重复计算
3、调用栈溢出
网友评论