数组

(小白一枚,若有侵权,请指出,谢谢)

数组

我们编程的时候经常使用数组,其索引开始为0,步长为1

使用步骤:

 1. 声明数组类型  2. 初始化数组,分配空间  3. 赋值

    注意:数组声明完是不能使用的,数组必须初始化才能使用,初始化表示在内存中分配空间,一旦初始化完成

数组的长度就固定了,除非重新初始化,即数组时定长的

数组初始化分为: 1.静态初始化    2.动态初始化

当知道需要存储那些数据类型的时候就用静态否则就用动态,想要动静结合去初始化一个数组是错误的

    //数组的通常使用方法
    public static void ArrayDemo1() {
        //动态初始化数组
        int[] nums1 = new int[5];
        
        int[] nums2 = new int[3];
        
        nums2 = new int[4];//重新赋值
        
           /*
            * 动态数组只是开辟空间,(String类型)元素初始化值为null
            * 初始值 null String[] names = new String[] 将数组中的元素的值赋为null
* * 静态数组直接赋值 * 静态初始化string类型的数组时 * 赋值null String[] bs = null,将整个数组赋为null(这里需要和动态初始化区别) * 所以当调用bs.length 时会崩掉(编译期通过,但是运行期出错)
*/ //创建长度为 5 的数组 String[] names = new String[5]; for(int i = 0 ; i < names.length ; i++) { System.out.println(names[i]); //此时names[5] 里面的值都为null (string 初始值为null) } int[] nums = new int[]{1,2,3,4,5}; System.out.println(nums.length);//长度是固定的 //nums = {2,4,6};//这样是错误的,上面已经长度固定为5,除非重新初始化 nums = new int[] {2,4,6};//重新初始化 //动静结合创建数组 是错误的 两次开辟空间 //int[] arrays = new int[4]{2,3,4,5} }
  public static void arrayDemo2() {
        //静态初始化数组 以下几种方法都可以
        int[] arr = new int[] {6,7,8,9,10};
        int arr1[] = new int[] {2,2,3,4,5,6};
        
        //内部也调用了默认构造器
        int[] arr2 = {1,2,3,4,5,6};
        int arr3[] = {3,4,5,6,7};
        
        //数组的长度
        int length = arr3.length;
        System.out.println("arr3 length:" + length);
        
        
        //数组 重新设置值
        arr[3] = 77;
        
        for(int  i = 0 ; i < arr.length ; i++) {
            System.out.println(arr[i]);
        }
        System.out.println("_______________分割线__________________");
        
        /*
        //错误  NullPointerException (空指针)
         * 
         * String[] bs = null;
         * System.out.println(bs.length);
         * 
         */
        
    }
坚持学习,永远年轻,永远热泪盈眶
原文地址:https://www.cnblogs.com/jiang0123/p/11284116.html