1.1
java是典型的静态语言,java数据组是静态的,即数组实例化后,数组所站的内存和数组长度是不可变的。
1. java数组初始化有两种方式
(1)静态初始:显示指定数组的初始值,由系统决定数组长度。
String[] bs=new String[]{"a","b","c"};
//简化形式为
String[] bs={"a","b","c"};
(2)动态初始:初始时只给定数组长度,由系统给定初始值。
String[] bs=new String[3];
bs[0]="a";
bs[1]="b";
bs[2]="c";
2. 动态初始值时对应的默认值
(1) 数组元素是基本类型的整数型时(byte,short,int,long) 默认值为0
(2)数组元素是基本类型的浮点类型(float,double) 默认值是0.0
(3)数组元素是基本类型的字符类型(char) 默认值是'\u0000'
(4)数组元素是基本类型的布尔类型(boolead) 默认值是false
(5)数组元素是引用类型(类,接口,数组) 默认值是null
注意:不要同时使用 静态和动态的初始化方式,即指定数组长度,也为每个数组元素指定初始值
1.1.2 数组不一定都需要初始化
java的数组变量只是引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序即可使用该数组变量
int[] nums={1,2,3};//初始化数组
int[] pricies=nums;//prices 直接引用nums,就不需要进行实例化
注意: 对数组初始化,其实并不是对数组变量进行初始化,而是在堆内存中创建数组对象,给数组对象分配一块连续的内存空间,这块空间的长度就是数组的长度。 变量只是存储的在堆内存的位置。如:一个本书在:书房的一个书柜的第二层的第二四本。变量就是这个地址,而数组对象 就是这本书的实体。