zoukankan      html  css  js  c++  java
  • Day 6 : 方法

    1. 方法

    1.1. 方法(函数,过程)

    各种语言都有方法的概念(有的语言称其为函数或过程),java中也一样。方法常常用于封装一段特定的逻辑功能,例如:执行计算或操作

    方法可以在程序中反复被调用,这样,就可以减少代码的重复,更便于程序的维护。

    1.2. 方法(函数、过程)

    一个排序的功能,你也需要排,我也需要排,他也需要排,难道每次都要重新写吗?显然很麻烦,后期修改维护也很麻烦,每个地方都需要改,并且有大量的代码重复,有没有一种方式可以解决这个问题呢?那就是方法。

    各种语言都有方法的概念(有的语言称其为函数或过程),其主要实现对一段特定逻辑功能的封装,如:执行计算或操作。若想要使用这段功能,只需调用一下即可。

    方法可以在程序中反复被调用,这样可大大减少代码的重复,从而便于程序维护。

    1.2.1. 定义方法(函数、过程)的功能

    方法用于封装一个特定的功能,定义时需要考虑五个要素:修饰词、返回值类型、方法名、参数列表、方法体。通过下面的代码进行讲解:

    public  static int  sum ( int  num1 , int  num2 ) {
               // 方法体
    }

    其中,public static为修饰词(后续课程详细介绍这两个关键字),int为返回值类型,sum为方法名(见名知义),int num1,int num2为参数列表。一对大括号{}中的为方法体(具体的业务功能实现)。

    1.2.2. 定义参数和返回值

    方法的参数是指:在调用时传递给方法,需要被方法处理的数据。方法可以有参数也可以没有参数,绝大部分方法为有参数的,因为方法有参数可使方法的处理更加灵活;在方法定义时,需要声明该方法所需要的参数变量(注意:声明该参数变量时需添加数据类型信息);

    在方法调用时,会将实际的参数值(数据)传递给方法的参数变量,同时必须保证传递参数的类型和个数符合方法的声明(后面详细介绍)。如下为几个方法定义的实例:

    void say() {   }       //无参方法
    void say( string name ) {   }  //1个参数方法
    int   sum ( int   num1 , int   num2 ) {   }      //2个参数方法

    上面的示例主要演示的是方法的参数信息,下面看一下方法的返回值。方法调用结束后可以返回一个数据,称之为返回值。当然,方法调用结束后也可以不返回数据,但不管是返回数据也好不返回数据也好,java语法规定,方法在声明时必须指定返回值类型,可分如下的两种情况进行处理:

    • 若方法不需要返回数据,将返回值类型声明为void。
    • 若方法需要返回数据,将返回值类型声明为特定数据类型。

    1.3. 方法的调用

    1.3.1. return语句

    在方法体中可通过return语句返回,return语句的作用在于结束方法且将数据返回给调用方。

    若方法定义的返回值类型为非void,则方法体中必须使用return返回,并且return后的表达式类型必须与方法定义的返回类型匹配,如下代码所示。

    return  num1 +num2 ; 

    若方法定义的返回值类型为void,则方法体中可以不使用return返回,也可以使用return返回,若使用return ,则它的作用仅在于结束方法调用而返回调用方。

    return;

    1.3.2. 调用方法时的参数传递

    下面将通过几个实例演示调用方法时如何传递参数:

    示例一,定义方法:

    public  static int  sum ( int  num1 , int num2 ) {  }

    main方法中调用:

    int result = sum(5,6); 
    int  a = 50, b = 60;
    int  result = sum ( a , b );

    示例二,定义方法:

    public  static  void  sayHi(String name) {  }

    main方法中调用:

    sayHi(“wkj”);
    sayHi(”zhangsan”);

    分析如上代码,方法调用时,会将实际的参数值(5,6,“wkj”,”zhangsan”)传递给方法的参数变量(int num1,int num2,String name),同时必须保证传递参数的类型和个数符合方法的声明。若不匹配会出现编译错误。

    下面通过一个实例详细讲解方法调用的过程,代码如下所示:

    public static int max(int a, int b) { ……… }
    public static void main(String[] args) {
    int a = 5; int b=6;
    int myMax = max(5,6);
    }

    上面的代码执行过程如下:

    1. 为main方法中的变量a、b、myMax分配空间并赋值。参见图 - 2 。

    图- 2

    1. 调用方法max,为max方法的参数变量a,b分配空间。参见图 – 3。

    图- 3

    1. 将调用值传递到参数变量中。参见图 – 4。

    图- 4

    1. max方法运行完返回,参数变量空间释放。参见图 – 5。

    图- 5

    1. main方法中的myMax变量得到返回值。参见图 – 6。

    图- 6

  • 相关阅读:
    二级目录下的SESSION共享问题
    [Leetcode 65] 120 Triangle
    JMeter学习(一)工具简单介绍
    pycham破解方法——Mac上亲测成功
    jmeter目前发现一丢丢强大的功能(未完待续,需优化)
    jmeter实现请求返回参数利用到下一个请求中
    通用化case,拿走不谢——测试之路
    mac 下pip安装python三方库的时候提示 Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a problem confirming the ssl certificate:......
    sudo pip install MySQLdb找不到该资源的原因
    软件质量管理实践总结
  • 原文地址:https://www.cnblogs.com/hkxd/p/3980434.html
Copyright © 2011-2022 走看看