1 保存数据
public static void main(String[] args) {int[] array = {1, 2, 3};for(int i = 0; i < array.length; ++i){System.out.println(array[i] + " ");}
}
2 作为函数的参数
1. 参数传基本数据类型
public static void main(String[] args) {int num = 0;func(num);System.out.println("num = " + num);
}public static void func(int x) {x = 10;System.out.println("x = " + x);
} // 执行结果
x = 10
num = 0
发现在func方法中修改形参 x 的值, 不影响实参的 num 值.
2. 参数传数组类型(引用数据类型)
public static void main(String[] args) {int[] arr = {1, 2, 3};func(arr);System.out.println("arr[0] = " + arr[0]);
}public static void func(int[] a) {a[0] = 10;System.out.println("a[0] = " + a[0]);
} // 执行结果
a[0] = 10
arr[0] = 10
发现在func方法内部修改数组的内容, 方法外部的数组内容也发生改变.
因为数组是引用类型,按照引用类型来进行传递,是可以修改其中存放的内容的。
总结: 所谓的 "引用" 本质上只是存了一个地址. Java 将数组设定成引用类型, 这样的话后续进行数组参数传参, 其实只是将数组的地址传入到函数形参中. 这样可以避免对整个数组的拷贝(数组可能比较长, 那么拷贝开销就会很大).
3 作为函数的返回值
比如:获取斐波那契数列的前N项
public class TestArray {public static int[] fib(int n){if(n <= 0){return null;} int[] array = new int[n];array[0] = array[1] = 1;for(int i = 2; i < n; ++i){array[i] = array[i-1] + array[i-2];} return array;}public static void main(String[] args) {int[] array = fib(10);for (int i = 0; i < array.length; i++) {System.out.println(array[i]);}}
}
小伙伴们这就是数组的全部内容了,后面我们会继续进行知识的讲解,感谢各位支持。