Java方法详解

Java方法详解

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);}}
}