美文网首页
1. 数组, 数组翻转

1. 数组, 数组翻转

作者: 面糊 | 来源:发表于2019-03-07 12:19 被阅读0次
    1. Java的数组,在程序运行期间,长度是不能改变的。但是可以从新new一个数组,并让这个变量保存新数组的地址。

    2. 一个数组的内存图:


      数组的内存图.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. 数组, 数组翻转

          本文链接:https://www.haomeiwen.com/subject/koccpqtx.html