java入门篇——方法

目录

什么是方法

方法的定义

方法的调用

形参和实参的区别

 方法重载


什么是方法

在说方法是什么之前,我先给各位小伙伴讲一个故事(我瞎编的),听完了这个故事,相信小伙伴们就会对方法有个初步的了解。

“在文字刚诞生的时候,有个偏远小国,那里还没有文字的传入。在小国里有个先知,他每天的任务就是预测天气,然后将天气情况告诉给每个前来问的人,每天来问天气的人很多,比一个byte的范围还要多。先知就觉得很麻烦,有没有什么办法能一劳永逸呢?”

“等到文字传入小国后,先知将天气情况写在了纸上(定义方法),每个来问天气的人只需要自己去看纸上的内容就好(调用方法) ”

方法,正如其名,是”解决某种问题的方法“或者是”具有某种功能“的一段代码,而我们的项目就是这样的一段段代码构成的。当某个功能需要被重复使用到的时候,我们就可以将实现这个功能的代码封装成方法,需要时直接调用即可(调用就是使用)

在上面的故事中,因为每天来问的人很多,所以先知将天气情况写在纸上,这个就相当于我们定义方法的过程,而人们看纸上内容就相当于调用方法的过程。

方法的定义

方法的定义,换句话说就是方法的实现。在上面故事中,方法的实现是将天气情况写在纸上。在Java中,定义方法时要考虑以下几点:

方法返回值:调用这个方法希望得到什么样的反馈(看纸上内容就得知天气,天气情况就是返回值)。当不需要返回值时,直接返回void(空类型)。

方法名:方法的名称。方法的命名时需要遵守“小驼峰”规则,而且在命名时,最好用功能的英文来命名。

方法参数:调用这个方法时传入的数据。如果方法没参数,则什么都不写,如果有参数,则需要写清楚参数的类型。

方法体:具体方法的实现(也就是先知写在纸上的内容)

//定义方法的格式
public static 返回值 方法名(参数列表) {
    方法的实现
}
//实例
public static int add(int a,int b) {
    int c = a + b;
    return c;    
}

方法的调用

方法的调用换句话说就是使用这个方法,在上面的故事中,人们看纸上的内容就相当于调用了方法。在调用方法时,传入方法的参数的类型,个数,顺序都需要一一匹配。

//调用格式
方法名(参数列表);

//实例
public static void main(String args[]){
    int a = 10;
    int b = 20;
    int sum = add(a,b);
}

形参和实参的区别

形参:全名形式参数,是方法被调用时用于接收实参值的变量。

不知道大家有没有过这样的经历,在创文活动时,每当领导要来巡查时,整个学校的学生都要“自愿”劳动,打扫卫生。而在平时,这样的打扫卫生活动是没有的。形式参数就和上面的打扫卫生活动一样,只有被调用时,它才会被实例化(被创建出来),否则,在没人调用它时,它就只是一段代码而已。

如果看完了上面的例子,还不理解什么是形参的小伙伴,可以再看下面的例子。形参就相当于一个仓库的建筑图纸,在方法被调用时图纸上的仓库就会被建造起来,用来存储东西。如果方法没有被调用,它就只会是一张图纸,不会占据空间。

实参:实际参数。在调用方法时传递给方法的值。


public static void main(String args[]){
    int a = 10;
    int b = 20;
    int ret = add(a,b);
    //传入add方法的参数a,b就是实际参数
}

//此处的x和y就是add方法的形式参数
public static int add(int x,int y){
    int z = x + y;
    return z;
}

形参和实参的关系:形参是实参的一份临时拷贝(复制),对形参的修改不会改变实参。(敲黑板,划重点)

在调用方法时,实参和实参各自在内存中有自己的存储空间,而实参会把自身的值传递给对应的形参。在上面的代码中,实参a将自身的值传递给形参x。因此可以将形参看成是形参的一份临时拷贝

在修改形参时,改变的是实参复制品的值,对实参本身没有影响

 方法重载

方法重载:方法名相同,参数列表不同,即可构成方法重载。在编程中,有时候我们需要实现一些功能类似,但是参数列表不一样的方法时,这个时候就可以使用方法重载。

比如:计算两个整数的和计算两个浮点数(小数)的和,这两个方法需要实现的功能都是计算和,但是所需要的参数列表不一样而已。

构成重载的条件:参数名相同,参数个数不同,参数类型不同,不同类型的参数顺序不同(后面三个只需要满足其一即可)

注意:返回值不同不构成重载

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

public static int add(int a,int b){
    int z = a + b;
    return z;
}
public static double add(double a,double b){
    double z = a + b;
    return z;
}

最后,我就来考考小伙伴们,在下面的代码中,哪些变量是实参,哪些变量是形参?另外,在下面的代码中,还有一处错误,不知道你是否看出来了呢?欢迎大家评论区互动

public static void main(String args[]){
    int x = 0;
    int y = 0;
    sub(a,y);
}
public static void sub(int a,int b){
    int c = a - b;
    return c;
}

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值