Java中的方法(参数,返回值,方法重载)

什么是方法

在Java的代码中,总会有一些会经常使用到的,相同的代码。

我们为了方便对这样的代码进行管理、使用,于是将这样的代码写在一起,给他装一个袋子里(这里用到的是Java中的封装思想)。这样在我们以后使用的时候,直接拿这个袋子去用就行了。

当然,你要把袋子里的功能先完善好。



方法的语法格式

自定义一个方法

方法包含一个方法头和一个方法体

// 如何自定义一个方法

//这是方法头
修饰符  返回值类型  方法名(参数类型  参数名,参数类型  参数名...){
      //这是方法体
      功能代码块
      return}

方法的调用

那在具体使用中如何调用一个方法呢?

//方法的调用
    方法名(实际参数1,实际参数2...);

具体实例

public static void main(String[] args){
    //调用方法
    sum(4,5);
}
    //这里是一个两个参数,没有返回值的sum方法
public static void sum(int a,int b){
    System.out.println(a + b);
}
9


语法详解

修饰符

在自定义一个方法的时候,首先看到的是修饰符。

修饰符我们目前只会用到public static,以后会详细学习这些修饰符。

返回值类型

什么是返回值呢

返回值就是,当我调用我建立的这个方法的时候,我需要这个方法来给我返回一个明确的结果,这个结果就叫返回值。它是一个有具体意义、实际数值的一个值。

当然,在一个方法中,我们也可以不需要这个方法来返回结果,这个时候就不需要写方法的返回值类型了,于是就可以用void关键字来表示这个方法不需要返回值。
例:

// 没有返回值的方法
public static void main(String[] args){
    sum(4,5);
}
//这里我写了一个sum方法,当这个方法被调用,就会打印出两个数相加的结果。
//属于不需要返回值的方法,所以使用void关键字
public static void sum(int a,int b){
    System.out.println(a + b);
}
9

那这个返回值什么时候需要,有什么作用呢?

当我们需要对方法的结果进行二次处理的时候,就需要返回值。这个时候,当你调用方法的时候,你的调用语句本身就会变成一个具体的值,这个值就是返回过来的结果。
所以我们要在方法体内的最后一行加上return关键字。
return的作用:1、返回结果 2、结束方法。
当方法运行到return这一行时,它就把结果返回给了调用者,同时结束了这个方法。
而这个return返回的结果的数据类型则必须和方法头里的数据类型一致。
我们举个例子:

// 需要返回值的方法
    public static void main(String[] args){
	    int x = 8;
	    int y ;
	    //这里y变量可以直接等于右边的调用方法,是因为调用方法本身已经变成了值了,这个值就是返回的结果
	    y = sum(4,5);
		
		System.out.println(x + y);
	}
    //这里的sum方法同样也是计算两个数的和,不同的是这次我们需要将结果返回给调用者
	public static int sum(int a,int b){
	    int c = a + b;
	    return c;//c变量的数据类型是int,和方法头中的返回值类型一致
	}
17

方法名

方法名就是自定义这个方法的名字,说白了不就是自己起名字嘛。
一般我们在起方法名的时候,尽量用可以大概描述出你这个方法是干嘛用的英文单词。
例如sum、max、print。
同时命名规范采用小驼峰式命名:
首字母小写,后面的每个单词的首字母都要大写,单词直接相连的。
例:studentStudy、testMethod

方法的参数

什么是方法的参数呢?
参数这个东西怎么讲呢。。。不太好描述啊。。。
比方我写一个方法,想要实现的功能是让两个int类型的数值相加,那么这两个数字就可以称之为参数。

我这么讲可能也不太对,反正是个人理解嘛。有更好的解释的话欢迎评论哦。

参数既然了解了,那么接下来就说说形式参数和实际参数吧。

形式参数,简称形参。指的就是在你写方法的时候,方法名后面小括号里的内容。每个形参都由参数类型和参数名组成。参数类型就是你这个参与方法的数值的类型是什么,参数名当然就是自己起名字咯。形参形参,从它的名字就可以看出来,这是个很抽象的东西。它的作用就是告诉调用者,你想调用我这个方法,就得按照我的要求来给我相对应的值,这样我才能正常运行。

和形参对应的就是实际参数了,简称实参。
实参就是在调用方法的时候,具体要传递给方法的值。刚才讲形参的时候提到了,调用者在调用方法的时候要按要求来传值,这个传递给形参的值就是实参。实参就是一个有实际意义的数值。

     public static void main(String[] args){
	    int x = 8;
	    int y ;
	   
	    y = sum(4,5);
		//      ↑ ↑
		//   实参1,实参2
		System.out.println(x + y);
	}
	public static int sum(int a,int b){
	//                      ↑     ↑
	//                    形参1,  形参2                        
	    int c = a + b;
	    return c;
	}   
17

方法可以有无数个参数,也可以没有参数,这个要根据具体需求来决定。
在方法的调用中,如果方法本身是没有参数的,那么调用的时候也不需要写参数,后面的小括号里就什么都不写。
例:

// 没有参数的方法
public static void main(String[] args){
    print();
}
//这个方法一经调用,就会打印出一句话,所以不需要参数
public static void print(){
    System.out.println("这是没有参数的方法");
}
这是没有参数的方法

有参数的方法在调用的时候就需要保证参数了。
要保证参数的类型一致,数量一致,位置一致。
例:

//有参数的方法
public static void main(String[] arsg){
    Test(20,"男");
}

public static void Test(int age,String sex){
    System.out.println(age + "岁的" + sex + "人");
}
20岁的男人


方法的重载

在我们写代码的时候,总会遇到在同一个类中,需要写很多功能相似甚至一样的方法,可英文单词就那么几个。或者多个方法具有相同的功能特性,但是呢,每个功能的实现方式可能不同。那要怎么办呢?写一样名字的方法会不会报错呢?
这时我们就需要用到方法的重载了。

方法的重载:在同一个类中,方法名相同,方法的参数列表不同(参数个数、参数位置、参数的类型),与返回值类型无关。

我们调用的时候只需要按照需求给予不同的参数就可以了(这里说的是不同的参数数量、参数位置、参数类型)。

例:

public static void main(String[] args){
    //当我们需要调用两个数和的方法时,只需要给两个参数,系统就会自动为我们调用只有两个参数的方法
    sum(4,5);
    //当我们需要调用三个数和的方法时,只需要给三个参数,系统就会自动为我们调用只有三个参数的方法
    sum(4,5,6);
}

//求两个数字的和
public static void sum(int a,int b){
    System.out.println(a + b);
}

//求三个数字的和
public static void sum(int a,int b,int c){
    System.out.println(a + b + c);
}
9
15

例2:

public static void main(String[] arsg){
    tree(20,"梨");
    tree("桃",10);
}
//第一个方法,int类型在前,String类型在后
public static void tree(int hight,String name){
    System.out.println(hight+ "米的" + name + "树");
}
//第二方法,String类型在前,int类型在后
public static void tree(String name,int hight){
    System.out.println("好大的" +hight + "米高的" + name + "树");
}

20米的梨树
好大的10米高的桃树

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值