Java方法

Java方法

方法的定义

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

语法:

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

练习:

package com.yuxin.method;

public class Demo01 {
    public static void main(String[] args) {
        int max = max(10,10);
        System.out.println(max);
    }

    //比大小
    public static int max(int numb1,int numb2){
        int result = 0;
        if (numb1 == numb2){
            System.out.println("两个数相等");
            return 0;//终止方法

        }else if (numb1 < numb2){
            result = numb2;
        }else {
            result = numb1;
        }
        return result;

    }
}

方法的重载

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

方法重载的规则:

  • 方法名必须相同*
  • 参数列表必须不同(个数不同、类型不同、参数排列顺序不同…)*
  • 方法的返回类型可以相同也可以不同
  • 仅仅方法的返回类型不同不足以成为方法的重载
package com.yuxin.method;

public class Demo01 {
    public static void main(String[] args) {
        int max1 = max(10,20);
        double max2 = max(10.0,20.0);
        System.out.println(max1);
        System.out.println(max2);
    }

    //比大小
    public static int max(int numb1,int numb2){
        int result = 0;
        if (numb1 == numb2){
            System.out.println("两个数相等");
            return 0;//终止方法

        }else if (numb1 < numb2){
            result = numb2;
        }else {
            result = numb1;
        }
        return result;

    }

    //比大小(重载)
    public static double max(double numb1,double numb2){
        double result = 0.0;
        if (numb1 == numb2){
            System.out.println("两个数相等");
            return 0.0;
        }else if (numb1 > numb2){
            result = numb1;
        }else {
            result = numb2;
        }
        return result;
    }
}

递归

递归就是方法自己调用自己

递归结构包括两个部分:

  • 递归头:什么时候不调用自身。如果没有头,将陷入死循环
  • 递归体:什么时候调用自身。
package com.yuxin.method;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数");
        int n = scanner.nextInt();
        boolean flag = flag(n);
        while (!flag){
            System.out.println("请重新输入一个大于0的数:");
            n = scanner.nextInt();
            flag = flag(n);
        }
        int f = f(n);
        System.out.println(n+"的阶乘为:"+f);
    }

    //求阶乘
    public static int f(int n){
        int result = 0;

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

    }

    //判断输入的数字是否大于0
    public static boolean flag(int n){
        boolean flag = true;
        if (n <= 0){
            flag = false;
        }
        return flag;
    }
}

练习:

package com.yuxin.method;

import java.util.Scanner;

public class CalculationDemo {
    public static void main(String[] args) {
        //简易计算器
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要进行的运算:");
        String s = scanner.nextLine();
        switch (s){
            case "+":
                System.out.println("请输入要计算的两个数:");
                int x = scanner.nextInt();
                int y = scanner.nextInt();
                int add = add(x, y);
                System.out.println(x+"+"+y+"="+add);
                break;
            case "-":
                System.out.println("请输入要计算的两个数:");
                x = scanner.nextInt();
                y = scanner.nextInt();
                int sub = sub(x, y);
                System.out.println(x+"-"+y+"="+sub);
                break;
            case "*":
                System.out.println("请输入要计算的两个数:");
                x = scanner.nextInt();
                y = scanner.nextInt();
                int mul = mul(x, y);
                System.out.println(x+"*"+y+"="+mul);
                break;
            case "/":
                System.out.println("请输入要计算的两个数:");
                double n = scanner.nextDouble();
                double m = scanner.nextDouble();
                double dev = dev(n, m);
                System.out.println(n+"/"+m+"="+dev);
                break;

        }
        scanner.close();

    }
    //加法运算
    public static int add(int x,int y){
        int result = 0;
        result = x + y;
        return result;
    }
    //减法运算
    public static int sub(int x,int y){
        int result = 0;
        result = x - y;
        return result;
    }
    //乘法运算
    public static int mul(int x,int y){
        int result = 0;
        result = x * y;
        return result;
    }
    //除法运算
    public static double dev(double x,double y){
        double result = 0;
        result = x / y;
        return result;
    }
}
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读