方法

方法集合

方法是语句的集合,可一起执行一个功能

格式修饰符 返回值类型 方法名(参数类型 参数名){

...方法体...

return 返回值 ;

//return 除了返回结果还有终止方法

}

修饰符:可选的,告诉编译器如何调用该方法,定义了该方法的访问类型。

返回值类型:returnValueType 返回值的数据类型,无返回值时 void

方法名:方法实际名称

参数: 实际参 / 形式参数 可以传递一些具体的值,也可以为空

方法体: 包含具体的语句,定义了该方法的功能

设计方法原则:保持原子性,一个方法只完成一个功能,这样有利于我们后期的扩展。

构造方法直接调用

   public static void main(String[] args){
 
      //实际参数 实际调用传给他的参数
      int i = fangFaMing(2, 3);
      System.out.println(i);
  }                                     // 形式参数,用来定义作用的
  public static int(返回类型,可空 void) fangFaMing(int a,int b){
      return a+b;
  }
}

main(...)方法 {

里面要简洁

}

通过方法调用来使用

(java)是值传递,引用传递

 

基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的

例子:

public class changeDemo {
   public static void main(String[] args) {
       int n = 3;
       System.out.println("Before change, n = " + n);
       changeData(n);
       System.out.println("After changeData, n = " + n);
  }

   public static void changeData(int n) {
       n = 10;
  }
}

Before change, n = 3
After changeData, n = 3

 

 

例子

    public static void main(String[] args) {
       int max = max(2, 3);
       System.out.println(max);

  }
   public static int max(int num1,int num2){
       if(num1 > num2){
           return num1;
      }else{
           return num2;
      }
  }
}

 

方法重载

  1. 重载名字必须相同 否则就不是一个方法不叫重载

  2. 参数类型必须不同(个数,类型,参数排列顺序不同)

  3. 方法返回类型可以相同也可以不同,机器自己判断使用对应的方法,

  4. 仅仅返回类型不足以成为方法重载。

//可任意int max = max(9,8,10);只要方法内部逻辑正确
int max = max(9, 8);
       System.out.println(max);

  }

   public static int max(int num1, int num2) {
       if (num1 > num2) {
           return num1;
      } else {
           return num2;
      }

  }

   public static int max(int num1, int num2, int num3) {
       if (num1 < num2) {
           if (num2 < num3) {
               return num3;
          } else {
               return num2;
          }
      }
       if (num1 > num3) {
           return num1;
      } else {
           return num3;
      }
  }
}

 

命令行传递参数

 

 

可变参数

1.在方法声明中,指定参数类型后加一个省略号(...)

2.一个方法只能制定一个可变参数,它必须是方法的最后一个参数。

public static int test(double x,int... i){
   System.out.println(i[0]);
   return 0 ;
}

 

递归

递归就是 自己调用自己

可以解决一些简单的计算容易奔溃

递归结构包括两个部分

递归头:什么时候不调用自身方法,递归边界,结束条件,如果没有头,将陷入死循环。

递归体:什么时候需要调用自身方法。

 

posted @ 2020-11-28 12:55  日积月累的弟弟  阅读(99)  评论(0编辑  收藏  举报