JavaSE 32 方法 → 何谓方法&&方法的定义

6.1 何谓方法


  1. 何为方法
  2. 方法的定义及调用
  3. 方法重载
  4. 命令行传参
  5. 可变参数
  6. 递归

  • System.out.println() 这就是方法
  • Java 方法是语句的集合,它们在一起执行一个功能。
  • 方法是解决一类问题 步骤的有序代码组合
  • 方法包含于 类 中。(具化对象中
  • 方法在程序中被 创建在其他地方被 引用
  • 设计方法的原则:方法其实就是功能模块,为了实现某个功能的语句的集合。所以我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成 1 个功能,这样利于我们后期的扩展。
  • 方法命名规则:首字母小写,驼峰原则!

6.1.1 简单创建方法

package method;

public class 什么是方法 {

    //main 方法 是 java 默认提供的
    public static void main(String[] args) {
        System.out.println(add(1,3));
    }

    //简单加法
    public static int add(int a,int b)
    {
    //static 表示 是静态变量,属于这个类,那么我们就不需要具象化一个对象出来才能调用了。我们直接 在这个类里面 拿过去 调用就行。
        return a + b;
    }
}

在这里插入图片描述


6.2 方法的定义

  • Java 的放啊类似于面向过程的函数,是一段用来完成特定功能的代码片段。
  • 方法包含一个 方法头 和一个方法体。下面是一个方法的在定义时,所有组成部分。
  1. 修饰符:这是可选的,告诉编译器 应该如何调用该方法,一般会定义该方法的访问范围以及访问类型。
  2. 返回值类型:方法可能有返回值,也可能没有返回值。返回值 统统用 return 来进行返回,当方法执行结束后,会返回给程序一个值或者不返回值,这个值 就叫做 “返回值”,在方法内部 统统用 return 来进行返回,该值的数据类型,与方法名前面的类型是一致的。
  3. 方法名:就好比一个事物一样,必须要有一个名字,我们才能调用它,一般 方法名 出现在 方法头部的 返回值类型名后面。
  4. 参数类型:参数就像一个占位符一样,当方法被调用的时候,必须传递给参数值(数据),来协助该方法完成相应的功能。而这些值不是瞎传的,它们具有固定的数据类型。顺序,个数。所以 你传递值的时候,一定要注意,该方法 让传递的每一个参数,数据类型是什么?传递的值 也被称为 实参。传递的值,只要数据类型一致,就可以随意传递。
  5. 形参:当传递给方法数据之后,方法会在内部产生一个形式参数(变量),被叫为 “形参”,形参只在方法内有效,而且与实参完全是两个东西!它是根据实参传递过来的值(数据),进行开辟临时空间,把值赋予给临时空间的临时变量,或临时参数。 所以它是一个新的变量,新的临时空间。它所做的任何操作,都和实参完全没有一点儿关系!!!!
  6. 方法体:方法体包含具体的语句集合,是定义该方法功能的地方。(方法体 由 {} 包括起来

  • 方法的定义
//比大小
    /*修饰符*/public static /*返回值类型*/int /*方法名*/max(int a/*整数参数①*/,int b/*整数参数②*/)
    {
        /*方法体*/
        if(a>b)
            return a;
        else return b;
    }
  • 方法的调用
package method;

public class 方法的定义和调用 {
    public static void main(String[] args) {
        System.out.println(max(1,8));
    }

    //比大小
    /*修饰符*/public static /*返回值类型*/int /*方法名*/max(int a/*整数参数①*/,int b/*整数参数②*/)
    {
        /*方法体*/
        if(a>b)
            return a;
        else return b;
    }
}

在这里插入图片描述


6.2.1 return 具有终止 作用

return value; 是可以返回值的。然而它还有个特性!
return 之后,就会直接到函数的尾部。代表着函数结束!


所以 通常我们 在方法中,也会利用 return 来进行 方法的终止。(就跟 break 在 循环体 里面的 效果是 一样的!)

package method;

public class 方法的定义和调用 {
    public static void main(String[] args) {
        System.out.println(max(1,8));
        System.out.println(max(1,1));
    }

    //比大小
    /*修饰符*/public static /*返回值类型*/int /*方法名*/max(int a/*整数参数①*/,int b/*整数参数②*/)
    {
        /*方法体*/
        if(a==b)
        {
            System.out.println(a+"=="+b);
            return a;//我们在这里进行 终止
        }
        if(a>b)
            return a;//终止 并且 返回
        else return b;//终止 并且 返回
    }
}

在这里插入图片描述


6.2.1 形参和实参的问题

  • swap 替换方法的编写
 //swap 替换
    public static void tiHuan(int a,int b)
    {
        int temp = a;
        a = b;
        b = temp;
    }

在这里插入图片描述
你会发现 还是 5 和 1 并没有 替换!这是因为 在 方法内部我们替换的是 形参,而在 外部 实参并没有改变!

Java 里 把这种传参方式,称之为 "值传递"
只有引用传递,才会实时 改变 实参!(因为引用传递,传递的实际上 内存空间的 地址!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值