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

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

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


  5.1.4 传递数组元素到成员方法

  数组元素可以单独作为变量使用,因此,数组元素可以像其他普通变量一样,做为实参传递给成员方法供其使用。若数组元素的数据类型是基本数据类型,则数组元素作为成员方法的实参与用普通变量作为实参一样,都是单向值传递,即只能由数组元素传递给形参,程序中队形参的任何改变不会影响到传递给它的数组元素的值。

  如下程序的意图是将数组的两个元素值进行交换,程序如下:

  [例5-3]

  class Change{

  public void swap(int a,int b){

  System.out.println("交换前形参:\n a="+a+" b="+b);

  int temp;

  temp=a;

  a=b;

  b=temp;

  System.out.println("交换后形参:\n a="+a+" b="+b);

  }

  }

  public class Test5_3 {

  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[0], arr[1]);

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

  }

  }

  程序运行结果为:

  交换前实参:

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

  交换前形参:

  a=5 b=8

  交换后形参:

  a=8 b=5

  交换前实参:

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

从运行结果可以看出,传递数组元素arr[0],arr[1]后,其对应的形参a,b经过swap方法中的计算后,其值发生了交换,但其交换并未影响到传递给它们的实参arr[0]和arr[1]。

  这与我们的编程意图不相符合,那么,能有什么办法使得对形参的修改影响到传递给它的形参吗?

  这里使用的是传递数组元素,我们可以传递数组的名字,这样就可以实现对形参的修改影响其对应的实参的效果。

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

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