• Java 代码学习之数组的初始化


    我们都很熟悉Java中的数组,它具有查询快,增删慢的特点。但是通常我们自认为很了解它的用法,却容易忽略一些小细节。今天通过一段代码来简单了解数组初始化中的一些我们容易忽略的地方。

    package dailytest;
    
    import org.junit.Test;
    
    public class ArrayTest {
        
        /**
         * 数组的初始化方式:
         * 动态初始化:int[] arr = new int[5]; 即指定数组长度,由系统给出初始值
         * 长度必须指定在右侧
         * 
         * 静态初始化:给定初始值,由系统判断长度,有两种形式:
         * int[] arr2 = {1,2,3,4,5};
         * int[] arr3 = new int[]{1,2,3,4,5};
         * 
         * 两种形式不能混用,即长度与{}不能共存
         */
        @Test
        public void test01() {
            int[]  arr1 = new int[5];
            int[] arr2 = {1,2,3,4,5};
            int[] arr3 = new int[]{1,2,3,4,5};
            
            
            //int[] arr4 = new int[5]{1,2,3,4,5};
            //int[] arr5 = new int[5]{};
            //int[5] arr6 = new int[][];
        }
       
        /**
         * 二维数组
         * []的位置很灵活
         */
        @Test
        public void test02() {
            int[][]  arr1 = new int[5][6];
            //System.out.println(arr1[0][0]); //0
            
            int[]  arr2[] = new int[5][6];
            int []  arr3[] = new int[5][6];
            int   []arr4[] = new int[5][6];
            int   arr5[] [] = new int[5][6];
            
            /**
             * 对于二维数组,只指定一个长度,即一维数组的长度是可以的,它代表5个数组,每个数组里的值都是null
             * 为什么是null而不是0
             * 因为arr6[0]里面放的是数组,数组的初始化值是null
             */
            int[][] arr6 = new int[5][];
            for (int i = 0; i < arr6.length; i++) {
                System.out.println(arr6[i]);    //null
            }
            //System.out.println(arr6[0][0]); //NullPointException
            
        }
        
        
    }
  • 相关阅读:
    调停者模式
    组合模式
    单例模式
    策略模式
    代理模式
    AJPFX简述Context.startService()和Context.bindService
    AJPFX简述abstract class和interface的区别
    AJPFX关于抽象类和接口的区别
    AJPFX关于StringBuffer,StringBuilder类 总结(一)
    AJPFX关于StringBuffer,StringBuilder类总结(二)
  • 原文地址:https://www.cnblogs.com/yrrAwx/p/7966542.html
Copyright © 2020-2023  润新知