第5章-方法与数组.pptVIP

  • 8
  • 0
  • 约1.14万字
  • 约 46页
  • 2017-08-19 发布于河南
  • 举报
第5章-方法与数组

第5章 方法和数组 本章学习目标 理解方法的概念。 掌握方法的定义和调用。 熟悉递归算法。 掌握数组的概念和使用。 理解方法的数组参数传递。 5.1 方法的概念和定义 在一个程序中,相同的程序段可能会多次重复出现,为了减少代码量和出错概率,一般将这些重复出现的代码段单独抽出来,写成子程序形式,以供多次调用。 这类子程序在Java语言中叫做方法。 这类子程序也叫函数(如C语言)。 方法的好处 缩短程序 提高程序的可维护性 分而治之 方法是Java语言的重要概念之一,同时也是实现结构化程序设计的主要手段,结构化程序设计是面向对象程序设计的基础,因此,掌握Java方法非常重要。 main()方法 System.out.println() 自定义方法的一般形式 返回值类型 方法名(类型 形式参数1, 类型 形式参数2, …… ) { 方法体 } 注意 (1)如果不需要形式参数,则参数表(即方法头的小括号)中就空着。 (2)返回值类型与return语句配合,即return语句后面的表达式类型应与返回值类型相一致。如果不需要返回值,则应该用void定义返回值类型,同时return语句之后不再需要任何表达式。 注意 (3)一个方法中可以有多条的return语句,只要方法执行到其中的任何一条return语句时,就中止方法的执行,返回到调用它的地方。 (4)方法内部可定义只能自己使用的变量,称之为局部变量(或内部变量),局部变量的作用域仅限于定义它们的地方起一直到方法体结束。 (5)方法中局部变量的确定值要在该方法被调用时由实际参数传入确定。 5.2 方法的调用 在程序中是通过对方法的调用来执行方法体的,Java语言中,方法调用的一般形式为: 方法名(实际参数表) 对无参方法调用时则只要写上小括号即可。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式,各实参之间要用逗号间隔开,并注意需与形参相对应。 5.2.1 调用方式 (1)方法表达式 (2)方法语句 (3)方法参数 超前引用 5.2.2 参数传递 当对带参方法进行调用时,实际参数将会传递给形式参数,也就是实参与形参结合的过程。 参数是方法调用时进行信息交换的渠道之一,方法的参数分为形参和实参两种,形参出现在方法定义中,在整个方法体内都可以使用,离开该方法则不能使用。实参出现在主调方法中,进入被调方法后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生方法调用时,主调方法把实参的值传送给被调方法的形参,从而实现主调方法传递数据给被调方法。 形参和实参 (1)形参只在方法被调用时才分配内存单元,在调用结束时,便会“释放”所分配的内存单元。因此,形参只在本方法内有效,方法调用结束后就不能再使用。方法内部定义的(局部)变量也是如此。 (2)实参可以是常量、变量、表达式,甚至是方法等,无论实参是何种类型的量,在进行方法调用时,它们都必须具有确定的值,以便把这些值传递给形参。 (3)实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。 (4)方法调用中发生的数据传递是单向的,因此在方法调用过程中,若形参的值改变,则实参不会跟着改变。 5.2.3 返回值 带返回值方法的一般形式为: 返回值类型 方法名(类型 形式参数1, 类型 形式参数2, …… ) { 方法体 return 表达式; } 返回值 方法返回值是指方法被调用之后,执行方法体中的程序段所取得的并通过return语句返回给主调方法的值。 方法的返回值只能通过 return语句返回给主调方法。 方法内部返回值的数据类型和方法定义中方法的返回值类型应保持一致。 不返回方法值的方法,可以明确定义其为空类型,类型说明符为 void 。 5.2.4 方法嵌套及递归 Java语言允许在一个方法的定义中出现对另一个方法的调用,我们把这样的情况称为方法的嵌套(调用),即在被调方法中又调用了其它方法。 递归 一个方法在它的方法体内调用它自身的情况称为递归调用,这是一种特殊的嵌套调用,称之为递归方法。 【例 5-12】用递归法计算n的阶乘。 n!可用下述公式递归表示: n!=1 (n=0,1) n!= n × (n-1)! (n1) 【例 5-12】用递归法计算n的阶乘。 5.3 变量作用域 局部(动态)变量也称为内部变量,局部变量是在方法内作定义说明的,在各个方法(包括main()方法)中定义的变量及方法的形式参数变量均为局部变量。 其作用域仅限于方法内,离开该方法后再使用这种变量则是非法的,因为它已经被“释放”不存在了。 提示 1) 主方法中定义的变量只能在主

文档评论(0)

1亿VIP精品文档

相关文档