1. 数组, 数组翻转

  1. Java的数组,在程序运行期间,长度是不能改变的。但是可以从新new一个数组,并让这个变量保存新数组的地址。

  2. 一个数组的内存图:


    1. 数组, 数组翻转_第1张图片
    数组的内存图.png
  3. 空指针异常:NullPointerException

    • 数组在声明后,如果不使用new进行初始化,是不能使用的
    • 数组声明后可以赋值为null,所有的引用类型初始值都是null。
    • 但是null代表为空,即没有值,所以如果访问值为null的数组中的元素,也会出现空指针异常
  4. 数组反转思路:

    1. 1234,交换为4321

    2. 03交换,12交换

    3. 定义两个索引,一个从0开始,一个从length-1开始

    4. min值不断增大,max值不断减小

    5. 当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);
      
  5. 数组作为参数:

    1. public static void printArray(int[] array)
    2. 数组作为参数传入,实际上传入的是数组的地址值,方法内部可以通过这个地址找到数组中的元素
  6. 数组作为返回值:

    1. public static int[] sum(int a, int b)
    2. 可以在方法内部创建一个数组,并且return这个数组,外界接受时也使用数组接受
    3. 返回的其实也是数组的地址值,然后用新的变量去保存这个数组的地址

你可能感兴趣的:(1. 数组, 数组翻转)