Java数组传递及可变参数操作实例详解

  

Java数组传递及可变参数操作实例详解

在Java中,数组有时需要被作为参数传递给一个方法或者函数,然后再在该方法或函数中进行使用。另外,有时候我们也需要在参数列表中使用可变参数。本文将详细讲解Java数组传递及可变参数的操作实例。

Java数组传递

Java中的数组是一种引用类型,而非基本数据类型。这意味着,传递数组时,我们实际上传递的是数组引用的副本,而不是数组本身。这样,我们就可以在方法中修改原始数组,并在方法退出后仍然可以访问这些修改。

传递一维数组

下面是一个使用一维数组作为参数的例子:

public class ArrayDemo {

  public static void modifyArray(int[] arr) {
    arr[0] = 100;
    arr[1] = 100;
  }

  public static void main(String[] args) {
    int[] arr = {1, 2, 3, 4, 5};
    System.out.println("Before modifying array:");
    for (int i : arr) {
      System.out.print(i + " ");
    }
    modifyArray(arr);
    System.out.println("\nAfter modifying array:");
    for (int i : arr) {
      System.out.print(i + " ");
    }
  }
}

输出结果为:

Before modifying array:
1 2 3 4 5 
After modifying array:
100 100 3 4 5 

传递二维数组

下面是一个使用二维数组作为参数的例子:

public class ArrayDemo {

  public static void modifyArray(int[][] arr) {
    arr[0][0] = 100;
    arr[1][1] = 100;
  }

  public static void main(String[] args) {
    int[][] arr = {{1, 2}, {3, 4}};
    System.out.println("Before modifying array:");
    for (int[] row : arr) {
      for (int i : row) {
        System.out.print(i + " ");
      }
      System.out.println();
    }
    modifyArray(arr);
    System.out.println("After modifying array:");
    for (int[] row : arr) {
      for (int i : row) {
        System.out.print(i + " ");
      }
      System.out.println();
    }
  }
}

输出结果为:

Before modifying array:
1 2 
3 4 
After modifying array:
100 2 
3 100 

Java可变参数操作

Java 5.0引入了一种称为“可变参数”的新特性。使用可变参数可以向一个方法传递变长的参数序列,这样就免去了在参数列表中使用数组的繁琐。

传递任意个数的参数

下面是一个接受任意个数参数的方法:

public static void printValues(String... values) {
  for (String s : values) {
    System.out.print(s + " ");
  }
  System.out.println();
}

public static void main(String[] args) {
  printValues("Hello", "Java", "World");
  printValues("I", "love", "programming");
}

输出结果为:

Hello Java World 
I love programming 

传递任意个数的参数及其他参数

下面是一个接受任意个数参数及其他参数的方法:

public static void printValues(String separator, String... values) {
  for (String s : values) {
    System.out.print(s + separator);
  }
  System.out.println();
}

public static void main(String[] args) {
  printValues(",", "Hello", "Java", "World");
  printValues("|", "I", "love", "programming");
}

输出结果为:

Hello,Java,World,
I|love|programming|

结论

本文讲解了Java数组传递及可变参数的操作实例。通过本文的学习,我们了解了如何传递一维数组和二维数组,并使用了可变参数来传递任意个数的参数。在我们编写Java程序时,这些技能对我们来说是非常有用的。

相关文章