方法的使用

什么是方法
    方法是有多行代码组成的逻辑单位,能够完成某个特定的功能,这些代码可以作为整体在其他地方使用,通常根据名字来使用。下面的一段代码就是一个方法:
    public static void main(String[] args) {
       System.out.println("欢迎开始学习Java");
    }
该方法的作用是在控制台上输出一行文字。
    这是一个非常特殊的方法,我们在前面的例子中看到过很多次了,所有要执行的Java程序都会有这样一个方法,是程序的入口。可以把所有要执行的语句写在main方法中,但是这样不容易共享代码,另外不容易对程序进行维护。所以通常会把不同的功能写在不同的方法中,然后在main方法中调用。下面分别介绍如何编写方法以及如何调用方法。
方法定义
    下面以求两个数的最大值为例介绍方法的定义。
    在定义方法之前必须明确方法要完成的功能是什么,功能决定了方法如何实现,成为方法体。要求两个数的最大值,假设这两个数分别为ab,要求两个数的最大值可以编写如下代码:
       int max;
       if(a>b)
           max = a;
       else
           max = b;
1行定义了一个整型变量,表示最大值。第2行到第5行,判断如果a大于b,则a是最大值,赋值给max,否则b是最大值,赋值给max
在实现这个功能的时候,不知道两个数分别是什么,所以假设两个数是ab,在程序执行到这个地方的时候,ab的值就确定了,所以编写方法的时候用ab表示,在这里ab是参数,其它地方要调用这个方法的时候需要先对这两个参数赋值,他们的值是由调用者决定的,所以称为形参。
在方法执行结束的时候,需要把执行的结果返回给方法的调用者,使用return语句,下面的代码返回求的最大值:
       return max;
方法的返回值类型需要在定义方法的时候声明。
编写好的方法是给其它地方使用的,而其他地方根据名字调用方法,所以需要给方法指定一个名字。
方法的名字、参数和返回值通常称为方法头。上面的方法的方法头可以写成:
public static int max(int a,int b)
其中,public static是方法修饰符max是方法的名字,max前面的int是方法返回值类型,括号中的int a,int b称为形参。
上面求最大值的方法的完整代码如下:
       public static int max(int a,int b){
              int max;
              if(a>b)
                     max = a;
              else
                     max = b;
              return max;
       }
根据上面的介绍,方法定义的一般形式如下:
方法修饰符 返回值类型 方法名字(参数列表){
   方法体
}
    如果方法不需要返回值,则返回值类型需要写成void,就像前面介绍的main方法:public static void main(String[] args);如果方法有返回值,在方法体中需要使用return语句返回执行结果,返回值类型应该与返回的执行结果类型相同。方法名字必须符合标识符的命名规则,并且尽量能表示方法的功能。如果没有参数,参数列表可以为空,如果有多个参数,多个参数之间用逗号隔开。方法体需要使用一对大括号括起来,不管方法体是有多少行代码组成的,大括号都不能省略。
【例】编写一个方法,计算两个整型数的和。
    publicstaticint add(int a,int b){
       int sum;
       sum = a+b;
       return sum;
    }
方法调用
    在调用方法的时候首先要知道方法是如何定义的。根据方法的名字调用,并且需要传递方法需要的参数,如果有方法有返回值,则需要定义一个与返回值类型相同的变量来接收返回值。例如要调用上面的求最大值的方法,可以使用下面的代码:
       int x=10;
       int y=12;
       int z = max(x,y);
    注意,方法调用的使用max(x,y),使用的参数名字为xy,与方法定义的时候不同,也可以相同。因为这个地方使用的是实参,也就是说在执行到这个地方的时候,xy的值是1012,也可以直接写成max(10,12)。而方法定义的时候,使用的是形参,仅仅表示有两个参数,但是值是由调用者决定的。
【例】编写一个main方法,调用例2-23中的add方法。
       public static void main(String[] args) {
              int y=12;
              int x=10;
              int z = add(x,y);
              System.out.println("两个数的和为:"+z);
       }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值