1.方法设计

一. 方法(Method),函数(function)的定义

  • main方法专门用JVM来负责调用,只需启动JVM即可。
  • 在Java最小的程序单元,类中定义,在其他方法之外,不影响顺序。
  • 方法:程序中完成独立功能,可重复使用的一段代码的集合。

格式:

[修饰符] 返回值类型 方法名称(形式参数,......){
方法体
[return];
}
  • 方法必须调用才生效。
  • 如果方法使用static修饰:
  • 此时我们使用方法所在类的名称.方法名(参数)来调用;
  • 如果方法没有使用static修饰:
  • 此时我们得使用所在类的对象来调用。

新建MethodDemo.java

//方法的使用
class MethodDemo
{
    static void doWork(){
    System.out.println("两百行代码");
}
    public static void main(String [] args){
        System.out.println("代码片段A");
        MethodDemo.doWork();
        System.out.println("代码片段B");
        MethodDemo.doWork();
        System.out.println("代码片段C");
        MethodDemo.doWork();
        System.out.println("代码片段D");
        MethodDemo.doWork();
    }
}

二. 方法的术语

  • 修饰符:public,static修饰的方法属于类,直接使用类名调用即可。
  • 返回值类型:方法其实就是在完成一个功能,该功能是否需要给调用者返回一个结果。
  • 如果不需要给调用者返回结果,此时使用void来声明,无返回的意思。

  1. 方法名称:遵循标识符的规范,使用动词表示,首字母小写,驼峰表示法。
  2. 形式参数:仅仅是占位而已,可以有多个。
  3. 参数列表:参数类型+参数个数+参数顺序。
  4. 方法签名:方法名称+方法参数列表。
  5. 在同一个类中,方法签名是唯一的。
  6. 方法体:具体完成该功能的代码。
  7. 返回值:在方法内部,使用return关键字;
    1. 功能1:给调用者返回一个结果,此时该方法不能使用void修饰。
    2. 功能2:结束当前方法。
  8. 实际参数:调用者在调用某一个具体方法的时候,实际传递的参数。

三. 如何设计方法

  1. 到底需要定义什么功能方法。

  2. 是否需要定义返回值类型。

  3. 是否需要形式参数。

  4. 是否需要定义返回值类型:

    1. 如果不需要返回结果,此时用void修饰。
    2. 如果需要返回结果,则需要返回结果的类型,把该类型作为返回值类型。
  5. 是否需要形式参数:

    由调用者得知需要的参数,这便是形式参数。

新建MethodDemo.java

//方法的定义和调用
class MethodDemo2
{
    //无参数,无返回
    static void p(){
        System.out.println("---------------");
    }
    //有参数无返回
    static void pValue(String val){
        System.out.println(val);
    }
    //无参有返回
    static String getValue(){
        return "Hello";
    }
    //有参有返回
    static int getSum(int a,int b){
        return a + b;
    }
    public static void main(String[] args)
    {
        MethodDemo2.p();
        String val = "huangkun";
        pValue(val);
        String val1 = getValue();
        System.out.println(val1);
        int sum = getSum(3,4);
        System.out.println(sum);
    }
}

四. 方法的执行分析

![image][execute]

五. 方法设计练习

发送短信,方法分析

![image][note]

登录,方法分析

image

六. 方法的重载设计

同一个类中,允许存在一个以上个方法名存在,只要参数列表不同即可。

  • 作用:屏蔽了同一功能的方法由于参数不同造成方法名称不同。
  • 两同:同类中,方法名相同;
  • 一不同:方法参数不同(参数类型,个数,顺序)

注意:方法重载好方法的返回值类型无关,只是一般要求返回值类型一致。

新建OverLoadDemo.java

//求两个数之和,方法重载
class OverLoadDemo
{
    static int getSum(int a,int b){
        return a + b;
    }
    static double getSum(double a,double b){
        return a + b;
    }
    public static void main(String[] args)
    {
        double sum = getSum(24,2);
        System.out.println(sum);
        sum = getSum(2.34,2.34);
        System.out.println(sum);
    }
}

七. 重载在Jdk中的使用

image

image

八. 递归操作

新建RecursionDemo.java

//递归操作
class RecursionDemo
{
    //求斐波那契数列,f(0)=0;f(1)=1;f(n)=f(n-1)+f(n - 2)
    static int fn(int n){
        if(n == 0)
            return 0;
        else if (n == 1)
        {
            return 1;
        }
        else
            return fn(n - 1) + fn(n - 2);
    }
    public static void main(String[] args)
    {
        System.out.println(fn(3));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值