Java方法的简单概括

Java方法

方法设计原则:一个方法实现一个功能,维持其原子性。

命名原则:首字母小写,驼峰原则。

  • 形式参数:用以定义变量
  • 实际参数:用以传递变量
  • return:用以返回值,以及终止方法

方法的调用

  • 对象名.方法名(参数列表)

    public static void main(String[] args) {
            int sum = add(1,3);
            System.out.println(sum);
        }
        public static int add(int a,int b){
            return a+b;
        }
    
  • Java是值传递;那么引用传递?

    • 方法返回值为空的时候,运行方法后值不变。
    • 引用传递:当方法参数指向对象时,即使方法返回值为空,运行后值改变,因为其指向的是对象的属性。

方法的重载

  • 方法名一致,参数类型必须不同(个数不同或类型不同或顺序不同)。

    public static void main(String[] args) {
            double sum = add(1.0,3.0);
            System.out.println(sum);
        }
        public static int add(int a,int b){
            return a+b;
        }
        //参数类型不同
        public static double add(double a, double b){
            return a+b;
        }
    

命令行传参

  • 可在程序运行时传参

可变参数

  • 在方法声明中,在指定参数后加省略号

  • 一个方法只能指定一个可变参数,它必须是最后声明的

    public static void main(String[] args) {
            max(1,4,6888,73,55,778);
        }
        public static void max(double...x){
            if (x.length==0){
                System.out.println("null");
                return;
            }else {
                double result=0;
                for (int i = 0; i < x.length; i++) {
                    if (x[i]>result){
                        result=x[i];
                    }
                }
                System.out.println(result);;
            }
        }
    

递归

  • A方法自己调用自己

  • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。

  • 递归体:什么时候需要调用自身方法。

  • 递归注意栈溢出,容易崩溃。

    public static void main(String[] args) {
            int f = f(4);
            System.out.println(f);
        }
        public static int f(int n){
            if (n==1){
                return 1;
            }else {
                return n*f(n-1);
            }
            /*
            * f4 4*f3
            * f3 4*3*f2
            * f2 4*3*2*f1
            * f1 4*3*2*1
            * */
        }
    

控制台计算器

public class Calculator {
    public static void main(String[] args) {
        doIt();
    }
    public static void doIt(){
        Scanner scanner = new Scanner(System.in);
        Calculator calculator = new Calculator();
        System.out.println("请输入两个数:");
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        System.out.println("请输入计算方式:");
        String str=scanner.next();
        System.out.println("输入为"+a+str+b);
        switch (str){
            case "+":
                System.out.println(calculator.add(a,b));
                break;
            case "-":
                System.out.println(calculator.sub(a,b));
                break;
            case "*":
                System.out.println(calculator.mul(a,b));
                break;
            case "/":
                System.out.println(calculator.div(a,b));
                break;
            default:
                System.out.println("输入不合法!");
        }
        doIt();
    }
    public double add(double a,double b){
        return a+b;
    }
    public double sub(double a,double b){
        return a-b;
    }
    public double mul(double a,double b){
        return a*b;
    }
    public double div(double a,double b){
        return a/b;
    }

posted @ 2020-12-16 10:17  Mr0Fly  阅读(77)  评论(0)    收藏  举报