04.方法

1.方法的作用:减少重复性代码,实现代码复用;方便后期维护

2.方法:具有特定功能一段独立代码

3.声明方法:

3.1:语法:
访问修饰符 扩展修饰符【static/final/abstract】 返回值类型 方法名(
数据类型1 参数1,数据类型2 参数2... ){
代码块;
【return 结果;】
}

3.2: 访问修饰符:public,protected,default,private ,表示方法访问权限,现在常用public作 方法的访问修饰符。
3.3:返回值类型:方法执行完后返回的结果的类型叫返回值类型,常用的方法返回值类型有 void,Java支持所有数据类型。如果方法执行完后不想返回任意结果就用 void,如果方法执行完后想返回结果,返回值类型就是这个结果的数据类 型,同时一定要用return返回结果。
3.4:方法名:自定义,采用驼峰式命名法。
3.5:方法参数:执行方法时所需要原材料。参数名与变量名命名规则一致,一个方法的参数可 以有0个到多个,参数前一定要有数据类型。参数在方法中当作已知变量来用。
3.6:return 结果:方法执行完后要返回的结果。方法的返回结果可以任意类型,只能返回一 个值。只要方法的返回值类型不为void,方法中一定要用return 结果,且结 果的类型与返回值类型一致。
3.7:声明方法只表示有这种功能,方法不调用不执行。
3.8:方法与方法之间是一种并列的关系,不能嵌套。
3.9: 一个方法只要声明一次,就可以多次调用。
3.10:在同一个类中不能有相同方法。
3.11:方法的类型:

eg:/**
  * 声明刷屏的方法,是一个无参无返回值的方法
  */
  public static void flushScreem(){
      System.out.println("刷屏了");
  }
  /**
  *声明自我介绍的方法,是一个有参无返回值的方法
  */
  public static void showMyself(String name,int age){
      System.out.println("大家好,我叫"+name+",今年"+age);
  }
  /**
  *声明榨汁的方法,是一个有参有返回值的方法
  */
  public static String juicing(String fruit){
      return "榨出一杯"+fruit+"汁";
  }
  /**
  * 声明提示发红包的方法,无参有返回值的方法
  */
  public static String money(){
      return "迟到要发红包";
  }

4.调用方法:方法名(参数1,参数2...);

eg://调用无参无返回值的方法
  flushScreem();
  //调用有参无返回值的方法
  showMyself("小明",18);
  //调用有参有返回值的方法,将方法的返回结果存在变量中
  String result=juicing("西瓜");
  System.out.println(result);
  //调用无参有返回值的方法,将方法的返回结果存在变量中
  String result2=money();
  System.out.println(result2);

5.参数类型

形参:方法声明时小括号中参数。形参前一定要带数据类型。
实参:方法调用时小括号中参数。方法调用时实参直接给值,一定不能写数据类型。
对同一个方法,形参与实参的个数要一致,类型要匹配,位置要一一对应。

6.方法重载的作用:解决同一个类,功能相同,多个方法的命名和调用

7.方法重载的条件

7.1:在同一个类中(一般情况都是,特殊情况子类继承父类的方法,再写一个构成重载);
7.2:方法名相同;
7.3:参数列不同(参数的个数不同,数据类型不同)
7.4: 返回值类型一致

8.方法重载调用,用实参数列表来判断调用了哪个方法

eg:/**
*方法重载使用
*/
public class MethedTest2{
/**
*程序的入口方法
*/
public static void main(String[] args){
  //调用方法,并将方法的返回结果存在变量中
  double result=sum(1,2,7,11);
  System.out.println("和为:"+result);
}
/**
*计算两个数之和的方法
*/
public static double sum(double num1,double num2){
  System.out.println("计算两个数之和的方法");
  double sum=num1+num2;
  return sum;
}
/**
*计算三个数之和的方法
*/
public static double sum(double num1,double num2,double num3){
  System.out.println("计算三个数之和的方法");
  double sum=num1+num2+num3;
  return sum;
}
/**
*计算四个数之和的方法
*/
public static double sum(double num1,double num2,double num3,double num4){
  System.out.println("计算四个数之和的方法");
  double sum=num1+num2+num3+num4;
  return sum;
}
}

练习:声明两个打印直角三角形的方法,第一个方法打印高度为5的直角三角形,图形的符号作为参数;第二个方法打印直角三角形,高度和符号都作为参数,用方法重载去实现。

9.递归:方法自身调用自身

递归使用条件:
1:可以将原问题拆分为若干子问题,子问题的解决方法与原问题一样。
2:原问题的解决依赖所有子问题的解决。
3:递归一定要有出口

简单的问题能用递归解决,也可以循环结构解决。
一般复杂的问题能用递归解决,不一定能循环结构解决

你可能感兴趣的:(04.方法)