JAVA--方法

方法

  • 有返回值方法
public static void main(String[] args) {
        System.out.print(reduce(4,3));
        //直接调用:ruduce()只是返回值,要通过System.out.print输出
        
        int sum = reduce(4,3);
        //赋值调用<实参>
        
        System.out.print(sum);
        //打印调用
}
public static int reduce(int c,int d) {
    //有返回值方法<形参>
        return c-d;
    }

  • 无返回值方法
public static void main(String[] args) {
        add(3,7);
        //直接调用
    }
    public static void add(int a,int b) {
    //无返回值方法
        System.out.println(a+b);
    }

方法重载

函数重载

  1. 方法名称一致;
  2. <形参>参数类型不同&参数类型相同,数目不同
  3. 修饰符不影响:public ,static
 public static void main(String[] args) {
        System.out.println(isSame(1,2));
        //调用isSame(int a,int b);
        System.out.println(isSame(1,1.0));
        //调用isSame(int c,double d);
        System.out.println(isSame());
        //调用isSame();
    }
    public static boolean isSame(int a,int b)
    //原方法
    {
        boolean isPrime = true;
        System.out.print("int");
        if (a == b) {
            isPrime = true;
        } else {
            isPrime = false;
        }
        return  isPrime;
    }
    public static boolean isSame(int c,double d) 
    //参数类型不同;
    {
        boolean isPrime = true;
        System.out.print("int");
        if (c == d) {
            isPrime = true;
        } else {
            isPrime = false;
        }
        return  isPrime;
    }
    public static boolean isSame() 
    //参数数目不同;
    {
        return true;
    }

方法的递归调用

必要条件

  • 结束条件;
  • 每次调用需要改变传递参数;
  1. 累加
 public static void main(String[] args) {
        System.out.println(leijia(10));
        //累加结果:55
    }
    public static int leijia(int i) {
        if (i == 1) {
        //结束条件
            return 1;
            //返回为1 --> 
        } else {
            return i + leijia(i - 1);
            //如果最后没返回1,这里最后得不出结果;
            //递归调用
        }
    }
  1. 阶乘
public static void main(String[] args) {
        System.out.println(jiechen(5));
        //阶乘结果: 120;
    }
    public static int jiechen(int i) {
        if (i == 1 ) {
            //结束条件: 当i = 1;
            return 1;
            //返回1,不返回,下面无法得出数据
        } else {
            return i * jiechen(i -1);
        }
    }

递归图解
image

猜你喜欢

转载自blog.csdn.net/weixin_40107544/article/details/88615758