当前位置: 移动技术网 > IT编程>开发语言>Java > Java细节整理——数组与内存控制

Java细节整理——数组与内存控制

2018年05月05日  | 移动技术网IT编程  | 我要评论

陈廷敬后人,金瓶梅电视剧在线观看,孙雅莉的不良照片

重点:使用Java数组之前,必须对数组对象进行初始化。

当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组的初始化完成。程序以后将不能重新改变数组对象在内存中的位置和大小。

知识点整理:

1.数组的初始化有以下两种方式:

1)静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组的长度。

2)动态初始化:初始化时程序员只指定数组的长度,由系统为数组元素分配初始值。

不管使用哪种方式初始化Java数组,一旦初始化完成,该数组的长度就不可改变。

代码示例:

public class Demo {
    public static void main(String[] args) {
        
        // 采用静态初始化方式
        String[] books = new String[] { "一千零一夜", "唐诗三百首", "警示寓言", "一个人的圣朝", };
        // 采用静态初始化的简化形式
        String[] names = { "小红", "小明", "小绿", };
        // 采用动态初始化的的方式
        String[] strArr = new String[5];

        // 访问数组以上长度
        System.out.println("第一个数组的长度是" + books.length);
        System.out.println("第二个数组的长度是" + names.length);
        System.out.println("第三个数组的长度是" + strArr.length);
    }
}

Java语言的数组变量是引用类型的变量,books,names,strArr这3个变量以及各自引用的数组在内存中的分配如图:

总结:对于静态初始化方式而言,程序员无需指定数组长度,指定该数组的数组元素,由系统来决定该数组的长度即可。即names是3,books是4。

而执行动态初始化时,程序员只需指定数组的长度,即为每个数组元素指定所需的内存空间,系统将负责为这些数组元素分配初始值。指定初始值时,系统将按如下规则分配初始值:

1)数组元素的类型是基本类型中的整数类型(byte,short,int和long),则数组元素的值是0;

2)数组元素的类型是基本类型中的字符类型(char),则数组元素的值是'\u0000';

3)数组元素的类型是基本类型中的浮点类型(float,double),则数组元素的值是0.0;

4)数组元素的类型是基本类型中的布尔类型(boolean),则数组元素的值是false;

5)数组元素的类型是引用类型(类,接口和数组),则数组元素的值为null;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网