Java方法01(方法详解,递归)

何为方法
Java方法是语句的集合,他们在一起执行一个功能
1.方法是解决一类问题的步骤的有序组合
2.方法包含于类或对象中
3.方法在程序中被创建,在其他地方被引用
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样有利于我们后期的扩展。
结构
修饰符 返回值类型 方法名(参数类型 参数名…){

方法体

return 返回值(如果没有返回值可不写)
}
代码示例(求合)(类似于c语言的自定义函数)

package com.hao.method;

public class Demo01 {
    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;
    }

}

输出示例
在这里插入图片描述
代码示例

package com.hao.method;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        int a;
        int b;
        int result=-1;
        System.out.println("请输入你要比较的两个数:");
        Scanner scanner = new Scanner(System.in);
        a=scanner.nextInt();
        b=scanner.nextInt();
        result=max(a,b);
        System.out.println(result);

    }
    //比大小
    public static int max(int num1,int num2){
       return num1>=num2?num1:num2;//如果num1>=num2输出num1,否则输出num2
    }
}

输出示例
在这里插入图片描述
方法的重载
规则
1.方法的名称必须相同
2.参数列表必须不同(个数,类型或参数排列顺序)
3.方法的返回类型可以相同也可以不同
4.仅仅返回值类型不同不足以成为方法重载
代码示例

package com.hao.method;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        int a;
        int b;
        double c;
        double d;
        int result=-1;
        double result2=-1.0;
        System.out.println("请输入你要比较的两个整数:");
        Scanner scanner = new Scanner(System.in);
        a=scanner.nextInt();
        b=scanner.nextInt();
        result=max(a,b);
        System.out.println("最大值为:");
        System.out.println(result);
        System.out.println("请输入你要比较的两个浮点数:");
        c=scanner.nextDouble();
        d=scanner.nextDouble();
        result2=max(c,d);
        System.out.println("最大值为:");
        System.out.println(result2);

    }
    //比大小
    public static int max(int num1,int num2){
       return num1>=num2?num1:num2;
    }
    public static double max(double num1,double num2){
        return num1>=num2?num1:num2;
    }
}

输出示例
在这里插入图片描述
递归
1.递归就是A方法调用A方法
2.递归结构包括两个部分:
1)递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
2)递归体:什么时候需要调用自身方法
代码示例

package com.hao.method;

public class Demo06 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
    public static int f(int N){
        if(N==1){
            return 1;
        }else{
            return N*f(N-1);
        }
    }
}

输出示例
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51224492/article/details/111321669
今日推荐