Java方法详解
- 方法是解决问题的集合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
一个方法只完成一个功能,有利于后期扩展
修饰符 返回值类型 方法名(参数类型 参数名){方法体return 返回值;
}
方法调用
调用方法:对象名.方法名(实参)
-
如果返回值
int max = max(30,40); -
如果返回值是void
System.out.println("hello,world");
方法的重载
类里面多个方法名相同,参数不同,根据数据类型进行调用
package yedongxin.cnblogs.www.base.method;public class Demo02 {static void main() {double max = max(10.0,10.0);}//比大小public static double max(double x,double y){double result = 0;if(x > y){result = x;}else if(x < y){result = y;}else if(x == y){System.out.println("x = y");return 0;}else{System.out.println("Error");return 0;}return result;}public static int max(int x,int y){int result = 0;if(x > y){result = x;}else if(x < y){result = y;}else if(x == y){System.out.println("x = y");return 0;}else{System.out.println("Error");return 0;}return result;}public static int max(int x,int y,int z) {int result = 0;if (x > y) {result = x;} else if (x < y) {result = y;} else if (x == y) {System.out.println("x = y");return 0;} else {System.out.println("Error");return 0;}return result;}}
方法的重载规则
- 方法名称必须相同
- 参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)
- 方法的返回类型可以相同可以不同
- 仅仅返回类型不同不足以成为方法的重载
命令行传参
可变参数
-
在方法声明中,在指定参数类型后加一个省略号(...)
-
一个方法中只能指定一个可变参数,必须是方法最后一个参数
package yedongxin.cnblogs.www.base.scanner;public class Demo06 {static void main() {Demo06 demo06 = new Demo06();demo06.test(1);}
public void test(int... i){System.out.println(i[0]);
}}
递归
自己调用自己
递归结构包含两个部分:
- 递归头:停止条件
- 递归体:什么时候需要用到调用自身方法
package yedongxin.cnblogs.www.base.scanner;public class Demo07 {static void main() {System.out.println(f(5));}public static int f(int n){if(n == 1){return 1;}else{return n*f(n-1);}}
}
