2017年计算机二级考试时间,2017年计算机二级考试java章节辅导:传递数组到成员方法

副标题:2017年计算机二级考试java章节辅导:传递数组到成员方法

时间:2023-11-25 01:37:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


  5.1.5 传递数组到成员方法

  在定义类的成员方法时,其参数的数据类型可以是基本数据类型,也可以是数组、字符串和类对象等引用类型。在将数组作为形参时,形参的定义格式如下:

  访问控制符 返回值 方法名(数据类型[] 数组名)

  方法中数组形参的形式实际上是数组的声明格式,前面我们学习过数组初始化的一种形式就是用已初始化后的数组对一个新声明的数组进行初始化,数组做形参就是这种情况,因此,要求传递的实参,其数据类型应该与在方法中定义的形参的数据类型相同,同时,形参和实参会具有相同的物理存储地址,因此,形参和实参是同一个数组,当然,在成员方法中队形参数组中各个元素的任何修改,都会使传递给它的实参数组的各个元素值发生变化,这种参数的传递方式被称为“双向地址传递”。

  一般来说,如果成员方法的形参数据类型为基本数据类型,这时候参数传递方式是“单向值传递”,若果成员方法的形参数据类型为引用数据类型(数组,字符串、类对象等),则参数传递方式是“双向地址传递”。

  采用数组名作形参的方式修改[例5-3]。

  [例5-4]

  class Change{

  public void swap(int arr[]){

  System.out.println("交换前形参:\n arr[0]="+arr[0]+" arr[1]="+arr[1]);

  int temp;

  temp=arr[0];

  arr[0]=arr[1];

  arr[1]=temp;

  System.out.println("交换后形参:\n arr[0]="+arr[0]+" arr[1]="+arr[1]);

  }

  }

  public class Test5_4 {

  public static void main(String[] args) {

  int[] arr={5,8};

  Change c = new Change();

  System.out.println("交换前实参:\n arr[0]="+arr[0]+" arr[1]="+arr[1]);

  c.swap(arr);

  System.out.println("交换后实参:\n arr[0]="+arr[0]+" arr[1]="+arr[1]);

  }

  }

  运行结果为:

  交换前实参:

  arr[0]=5 arr[1]=8

  交换前形参:

  arr[0]=5 arr[1]=8

  交换后形参:

  arr[0]=8 arr[1]=5

  交换后实参:

  arr[0]=8 arr[1]=5

  从运行结果可以看出,对形参数组arr两个元素arr[0]和arr[1]的修改影响到了实参数组arr的两个元素arr[0]和arr[1]。这里需要注意的是,形参和实参的名字都是arr,需要区分哪个是形参,哪个是实参。

  向方法传递数组元素值的“单向值传递方式”和普通变量效果是一样的,因此,这种情况完全可以用普通变量来代替。在实际应用中,我们更多的是使用向方法传递数组名的“双向地址传递”方式。

2017年计算机二级考试java章节辅导:传递数组到成员方法.doc

本文来源:https://www.wddqw.com/H6lO.html