Java的方法

一、方法的概述

方法:一种语法结构,它可以把一段代码封装成一个功能,以便重复调用

作用:提高代码的复用性,提高开发效率,让程序逻辑更清晰

方法完整的定义格式:

注意:

        1. 方法定义是,返回值类型形参列表可以按照需求进行填写,如果方法没有结果数据需要              返回,返回值类型申明为:void,此时方法内部不可以使用return返回数据

        2. 方法如果不需要接收数据,则不需要定义形参,且调用方法时也不可以传数据给方法了

        3. 没有参数,且没有返回值类型(void) 申明的方法,称为无参数、无返回值的方法,依次类推
 

二、方法的调用

程序中必须调用方法,才能使方法跑起来

方法的调用格式方法名称(…)

有返回值类型声明的方法的调用:

        1. 赋值调用:定义变量接收方法的结果

        2. 输出调用:放在输出语句中调用

        3. 直接调用:方法还是会执行,只是返回的结果我们不要了

无返回值方法的调用:

        直接调用一下

 

三、方法在计算机中的执行

方法被调用时,是进入到栈内存中运行的,栈内存的特性是先进后出

保证一个方法调用完另一个方法后,可以回来

 

示例:

 

四、方法参数传递

值传递

值传递:指的是在传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本

实参:指的是在方法内部定义的变量

形参:指的是定义方法时 "( ……)" 中所声明的参数

示例:

 注意:无论是基本数据类型还是引用数据类型的参数,都是满足值传递的,基本类型的参数传输                的是存储的数据,引用类型的参数传输的是存储的地址

import java.util.Arrays;

public class ArrayPassByValueExample {

    // 一个方法,它接受一个整数数组作为参数,并修改其中的元素
    public static void modifyArray(int[] array, int index, int newValue) {
        if (index >= 0 && index < array.length) {
            array[index] = newValue;
        } else {
            System.out.println("Index out of bounds");
        }
    }

    public static void main(String[] args) {
        // 创建一个整数数组
        int[] numbers = {1, 2, 3, 4, 5};

        // 打印原始数组
        System.out.println("Original array: " + Arrays.toString(numbers));

        // 调用方法修改数组中的元素
        modifyArray(numbers, 2, 100); // 修改索引为2的元素为100

        // 打印修改后的数组
        System.out.println("Modified array: " + Arrays.toString(numbers));
    }
}

// 注意:为了使用Arrays.toString方法,需要导入java.util.Arrays类
// import java.util.Arrays;

五、方法重载 

一个类中,出现多个方法的名称相同,但它们的形参列表是不同的,那么这些方法就称为方法重载

示例:

public class OverloadingExample {

    // 第一个重载方法,不接受任何参数
    public void printMessage() {
        System.out.println("没有参数的printMessage方法被调用");
    }

    // 第二个重载方法,接受一个String参数
    public void printMessage(String message) {
        System.out.println("带有String参数的printMessage方法被调用: " + message);
    }

    // 第三个重载方法,接受两个int参数
    public void printMessage(int number1, int number2) {
        System.out.println("带有两个int参数的printMessage方法被调用: " + number1 + ", " + number2);
    }

    // 第四个重载方法,接受一个double参数
    public void printMessage(double number) {
        System.out.println("带有double参数的printMessage方法被调用: " + number);
    }

    public static void main(String[] args) {
        OverloadingExample example = new OverloadingExample();

        // 调用没有参数的方法
        example.printMessage();

        // 调用带有String参数的方法
        example.printMessage("Hello, World!");

        // 调用带有两个int参数的方法
        example.printMessage(10, 20);

        // 调用带有double参数的方法
        example.printMessage(3.14);
    }
}

注意:

        1. 形参列表不同:形参的个数,类型,顺序不同不关心形参变量的名称是否相同

        2.  修饰符返回值类型不能作为函数重载的标志

方法重载的好处:

        1. 方法名相同标记是同一个功能,可读性好

        2. 形参列表不同,体现功能的差异化,还可以提高开发效率

六、return关键字

return:可以用在无返回值的方法中

作用:立即跳出并结束当前方法的执行

示例:

public class ReturnTypeExample {
    // 定义一个方法,返回字符串
    public static String greet() {
        return "Hello, World!"; // 返回字符串值
    }

    // 注意:下面的方法是错误的,因为返回类型与声明的返回类型不匹配
    // public static int greetWrong() {
    //     return "Hello, World!"; // 错误:不能返回字符串作为int值
    // }

    public static void main(String[] args) {
        String greeting = greet(); // 调用greet方法,并将返回值存储在greeting变量中
        System.out.println(greeting); // 输出结果
    }
}

六、方法的注意事项

        1. 方法的编写顺序无所谓

        2. 方法与方法之间是平级关系,不能嵌套定义

        3. 方法的返回值类型为void (无返回值),方法内则不能使用return返回数据,如果方法的返回              值类型写了具体类型,方法内部则必须使用return返回对应类型的数据

        4. return语句下面,不能编写代码,因为永远执行不到,属于无效的代码

        5. 方法不调用就不执行,调用时必须严格匹配方法的参数情况

        6. 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无              返回值方法的调用只能直接调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值