Java方法

1、何谓方法

Java方法是语句的集合,它们在一起执行一个功能

  • 方法是解决一类问题的步骤的有序组合

  • 方法包含于类或对象中

  • 方法在程序中被创建,在其他地方被引用

  • 一个方法只完成1个功能,有利于后期的扩展

public class Demo01 {
   //main方法
   public static void main(String[] args) {
       int sum = add(1,2);
       System.out.println(sum);
  }
   //加法
   public  static int add(int a,int b){
       return a+b;
  }
}

 

 

2、方法的定义及调用

方法包含一个方法头和一个方法体

修饰符  返回值类型   方法名(参数类型  参数名){
...
方法体
...
return 返回值

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

  • 返回值类型:方法可能有返回值。

  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。

  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

    • 形式参数:在方法被调用时用于接受外接输入的数据。

    • 实参:调用方法时实际传给方法的数据。

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

 

3、方法重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数。

方法的重载的规划:

  • 方法名称必须相同。

  • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)

  • 方法的返回类型可以相同也可以不相同。

  • 仅仅返回类型不同不足以成为方法的重载。

public class Demo02 {
   public static void main(String[] args) {
       double max = max(30, 20);
       System.out.println(max);

  }
   //比大小
   public static double max(double num1,double num2){

       double result=0;

       if(num1==num2){
           System.out.println("num1==num2");
           return 0; //终止方法
      }
       if(num1>num2){
           result = num1;
      }else{
           return num2;
      }
       return result;
  }
   //比大小
   public static int max(int num1,int num2){

       int result=0;

       if(num1==num2){
           System.out.println("num1==num2");
           return 0; //终止方法
      }
       if(num1>num2){
           result = num1;
      }else{
           return num2;
      }
       return result;
  }
}

 

4、递归

  • A方法调用B方法

  • 递归就是:A方法调用A方法!就是自己调用自己

  • 递归结构包括两个部分: - 递归头:什么时候不调用自己。如果没有头,将陷入死循环。 - 递归体:什么时候需要调用自身方法。

public class Demo05 {

  public static void main(String[] args) {
       System.out.println(f(5));
   }
   //
   //5!
  public static int f(int n){

      if(n==1){
          return 1;
       }else{
          return n*f(n-1);
       }
   }
}

 

posted @   Will凸^-^凸  阅读(246)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示