【Java语言基础】5.3 Java方法

Java方法

1. 方法的概述

  • 方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用。
  • 提高代码的复用性。
  • 让程序的逻辑更清晰。
public class MethodDemo1 {
    public static void main(String[] args) {
        // 两个数求和方法
        int x = 10,y = 20;
        System.out.println(sum(x, y)); // 30

        System.out.println(sum(5,6)); // 11
    }

    public static int sum(int a,int b){
        int c = a + b;
        return c;
    }
}

2. 方法的定义、调用

  • 方法的定义:
    • 修饰符 返回值类型 方法名(形参列表){
      方法体代码(需要执行的功能代码)
      return 返回值;
      }
  • 方法必须调用才可以跑起来,调用格式:方法名(...);
  • 方法的修饰符:暂时都使用public static修饰。
  • 方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据
  • 形参列表可以有多个,甚至可以没有;如果有多个形参,多个形参必须用","隔开,且不能给初始化值。
  • 方法定义时:返回值类型、形参列表可以按照需求进行填写。
  • 如果方法不需要返回结果,返回值类型必须申明成void(无返回值),此时方法内部不可以使用return返回数据。
  • 方法如果没有参数,或者返回值类型申明为void可以称为无参数、无返回值的方法,以此类推。
  • 方法使用的常见问题
    • 方法的编写顺序无所谓。
    • 方法与方法之间是平级关系,不能嵌套定义。
    • 方法返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
    • return语句下面,不能编写代码,因为永远执行不到,属于无效代码。
    • 方法不调用就不执行,调用时必须严格匹配方法的参数情况。
    • 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用一下。
  • 方法的调用流程
    • 方法没有被调用的时候,在方法区中的字节码文件中存放。
    • 方法被调用的时候,需要进入到栈内存中运行。

3. 方法的参数传递机制

3.1 基本类型的参数传递

  • 在传输实参给方法的形参的时候,并不是传输实参变量本身,而是传输实参变量中存储的数据值

注意:

  • 实参:如在方法内部定义的变量。
  • 形参:如在定义方法时,"( )"中所声明的参数。
/**
 * 目标;理解Java的基本类型的参数传递
 */
public class MethodDemo2 {
    public static void main(String[] args) {
        int a = 10;
        System.out.println("第一次输出" + a); // 10
        change(a);
        System.out.println("第四次输出" + a); // 10
    }

    public static void change(int a){
        System.out.println("第二次输出" + a); // 10
        a = 20;
        System.out.println("第三次输出" + a); // 20
    }
}

3.2 引用类型的参数传递

  • 引用类型的参数传递,传输的是参数存储的地址值
/**
 * 目标;理解Java的引用类型的参数传递
 */
public class MethodDemo3 {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30};
        change(arr);
        System.out.println("第三次输出" + arr[1]); // 100
    }

    public static void change(int[] arr){
        System.out.println("第一次输出" + arr[1]); // 20
        arr[1] = 100;
        System.out.println("第二次输出" + arr[1]); // 100
    }
}

4. 方法重载

4.1 方法重载的形式、作用

  • 同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法
/**
 * 目标:识别方法重载的形式。并理解其调用流程,最后需要知道使用方法重载的好处
 */
public class MethodDemo1 {
    public static void main(String[] args) {
        print();
        print("tom");
    }

    // 无参方法,默认打印Hello World
    public static void print(){
        System.out.println("Hello World!");
    }

    // 传递参数
    public static void print(String name){
        System.out.println("Hello! " + name);
    }
}
  • 形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。
  • 方法重载的作用:
    • 可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。

return关键字

  • return; ------ 可以立即跳出并结束当前方法的执行;return关键字单独使用可以放在任何方法中。
/**
 * 目标:明确return关键字的作用。
 */
public class ReturnDemo {
    public static void main(String[] args) {
        fun(10,0); // 除数不能为0!
        fun(10,2); // 5
    }

    public static void fun(int a,int b){
        if (b == 0){
            System.out.println("除数不能为0!");
            return;
        }
        int c = a / b;
        System.out.println(c);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐三木Mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值