package com.array;

import java.util.Arrays;


/**
 * java中创建数组的几种方式
 * @author NanFeiLong
 * @date 2016年12月6日
 */
public class CreatArrays {

    public static void main(String[] args) {
        int[] array1;//定义一个int类型的数组array1变量
        int array2[];//定义一个int类型的array2数组变量
        //注意 效果可以认为是一样的额,都是定义一个int数组,但是念法上有些小区别,推荐使用第一种
        //System.out.println(array1);//如果不初始化这里会报错
        /**
         * 动态初始化的格式:数据类型[] 数组名 = new 数据类型[数组长度];
         * 如:int[] array3 = new int[3];
         * 这种叫动态初始化,初始化时候只指定数组的长度,由系统为数组分配初始化的值一般为0
         * 解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值
         */
        int[] array3 = new int[3];
        System.out.println(array3);//[I@15db9742 一个地址值
        System.out.println(array3[0]);//0
        System.out.println(array3[1]);//0
        System.out.println(array3[2]);  //0

        /**
         * 这种创建方式静态初始化: 给出初始化值,由系统决定长度
         * 格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
         * 简化格式:数据类型[] 数组名 = {元素1,元素2,…};
         */
        int[] arr = new int[]{1,2,3};
        int[] arr1 = {1,2,3,};
        System.out.println(arr1);//[I@6d06d69c
        System.out.println(arr1[0]);//1
        System.out.println(arr1[1]);//2
        System.out.println(arr1[2]);//3
    }

}