分享

JAVA方法详解

 行者花雕 2022-12-24 发布于北京

教学大纲

  • 何谓方法
  • 方法的定义和调用
  • 方法重载
  • 命令行传参
  • 可变参数
  • 递归

何谓方法

System.out.println() 类/对象/方法

JAVA方法是语句的集合,它们在一起执行一个功能,方法命名规则:首字母小写,驼峰命名规则

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

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象
  • 方法在程序中被创建,在其他地方引用
  • 一个方法只完成一个功能,有利于后期扩展,保持方法的原子性

方法的定义和调用

方法是一段用于完成特定功能的代码片段

方法包括一个方法头和方法体,下面是一个方法的所有部分:

  • 修饰符,定义了该方法的访问类型
  • 返回值 void表示不返回
  • 方法名
  • 参数类型 实际参数(1,2)和形式参数(a,b)
  • 方法体
修饰符  返回值类型   方法名 (参数类型,参数名){

方法体

return  返回值
}

JAVA是值传递,而不是引用传递

package com.liulibin.blog.experiences.method;

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

    //比大小
    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{
            result=num2;
        }
        return result;
    }
}

方法和库都能直接调用

方法的重载

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

package com.liulibin.blog.experiences.method;

public class Demo2 {
    public static void main(String[] args) {
        double A = max(20.1, 20.1);
        System.out.println(A);
    }

    //比大小
    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 {
            result = num2;
        }
        return result;
    }

    //重载
    public static double max(double num1, double num2) {
        double result = 0.0;
        if (num1 == num2) {
            System.out.println("num1==num2");
            return 0; //终止方法
        }

        if (num1 > num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;
    }
}

命令行传递参数

可变参数(不定项参数)

在方法的声明中,在指定参数类型后加一个省略号...

可变参数必须在最后

递归(重点)

A方法调用A方法自己即递归

递归能大大减少程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合

递归结构包括递归头(什么时候不调用自身,如果没有投将陷入死循环)和递归体(什么时候需要调用自身方法)

package com.liulibin.blog.experiences.method;

public class Demo4 {
    // 5! 5*4*3*2*1
    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);
        }
    }
}

边界条件:边界,前阶段,返回阶段n*f(n-1)

递归方便了程序员,但是苦了电脑,占用了大量的电脑内存

能不用递归就不用递归,可以处理一些简单问题

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多