传话与回信:搞懂方法的参数和返回值

在Java里,方法参数 就像是你给一个动作(方法)输入的信息,而返回值就是这个动作完成后给你的答复。简单来说,参数是"传话",返回值是"回信"。


什么是方法参数?

方法参数就是你在调用方法时传给它的数据,方法通过这些数据来执行相应的操作。参数就像你给方法的"任务说明书",告诉它你想要做什么、用哪些数据去做。


例子:让猫跳几次(带参数的方法)

java 复制代码
class Cat {
    void jump(int times) {
        for (int i = 0; i < times; i++) {
            System.out.println("猫跳了一次!");
        }
    }
}

在这个例子中,jump(int times)方法的参数是times,它告诉猫要跳几次。你可以通过传入不同的参数值,控制猫跳的次数。

java 复制代码
public class Main {
    public static void main(String[] args) {
        Cat myCat = new Cat();
        myCat.jump(3); // 猫跳了3次
    }
}

什么是返回值?

返回值是方法执行完毕后,返回给你的一些结果,就像是完成任务后的"回信"。你可以把返回值保存下来,或者用它做进一步的操作。


例子:让猫计算它的跳跃总次数(带返回值的方法)

java 复制代码
class Cat {
    int totalJumps(int times) {
        int total = 0;
        for (int i = 0; i < times; i++) {
            System.out.println("猫跳了一次!");
            total++;
        }
        return total; // 返回猫跳的总次数
    }
}

在这个例子里,totalJumps(int times)方法不仅让猫跳,还返回猫跳的总次数。返回值类型是int,因为它要返回的是一个整数。

java 复制代码
public class Main {
    public static void main(String[] args) {
        Cat myCat = new Cat();
        int jumps = myCat.totalJumps(5); // 猫跳了5次
        System.out.println("总共跳了:" + jumps + " 次");
    }
}

没有返回值的方法(void类型)

有些方法只执行动作,不需要返回结果。比如打印信息的方法,它只是完成打印,不需要给你"回信"。这种情况下,返回值类型用void,表示没有返回值。


例子:打印猫叫声(void方法)
java 复制代码
class Cat {
    void meow() {
        System.out.println("猫在喵喵叫!");
    }
}

meow()方法只是打印猫的叫声,它没有返回值,所以使用void作为返回类型。


带多个参数的方法

有时你需要给方法传多个参数,比如计算两只猫的总跳跃次数。


例子:让两只猫分别跳,计算总跳跃次数

java 复制代码
class Cat {
    int totalJumps(int times1, int times2) {
        return times1 + times2;
    }
}

这个方法接受两个参数times1times2,分别表示两只猫跳的次数,并返回它们的总和。

java 复制代码
public class Main {
    public static void main(String[] args) {
        Cat cat = new Cat();
        int total = cat.totalJumps(3, 4); // 两只猫分别跳3次和4次
        System.out.println("两只猫一共跳了:" + total + " 次");
    }
}

总结:方法参数和返回值
  • 参数:方法的"传话",用来给方法提供执行所需的数据。
  • 返回值:方法的"回信",执行完后返回给你的一些结果。
  • void :如果方法不需要回信,就用void表示没有返回值。

通过参数和返回值,方法之间可以传递信息和结果,就像是一场有来有回的对话。你给方法传递任务,它执行后再把结果反馈回来,这就是编程里最基本的"沟通"方式!

相关推荐
麻瓜code4 小时前
【LeetCode】两数相加:模拟加法竖式,用进位 flag 一次遍历解决
java
zzzll11115 小时前
Spring Boot 实现数据脱敏:自定义注解 + Jackson 序列化器
java·spring boot·后端
2501_941875289 小时前
从配置中心到动态管理的互联网工程语法演进与多语言实践分享
开发语言·python
hfywmsj9 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
努力的lpp11 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob23311 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
lhldsg12 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
jason成都12 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒12 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb12 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析