-
Java的数组,在程序运行期间,长度是不能改变的。但是可以从新new一个数组,并让这个变量保存新数组的地址。
-
一个数组的内存图:
数组的内存图.png -
空指针异常:NullPointerException
- 数组在声明后,如果不使用new进行初始化,是不能使用的
- 数组声明后可以赋值为null,所有的引用类型初始值都是null。
- 但是null代表为空,即没有值,所以如果访问值为null的数组中的元素,也会出现空指针异常
-
数组反转思路:
-
1234,交换为4321
-
03交换,12交换
-
定义两个索引,一个从0开始,一个从length-1开始
-
min值不断增大,max值不断减小
-
当min>max时,证明交换完毕,停止循环
// 数组翻转 int[] array1 = new int[] {1, 2, 3, 4, 5, 6, 7}; printArray(array1); for (int min = 0, max = array1.length - 1; min < max; min++, max--) { int temp = array1[min]; array1[min] = array1[max]; array1[max] = temp; } printArray(array1);
-
-
数组作为参数:
- public static void printArray(int[] array)
- 数组作为参数传入,实际上传入的是数组的地址值,方法内部可以通过这个地址找到数组中的元素
-
数组作为返回值:
- public static int[] sum(int a, int b)
- 可以在方法内部创建一个数组,并且return这个数组,外界接受时也使用数组接受
- 返回的其实也是数组的地址值,然后用新的变量去保存这个数组的地址
网友评论