码迷,mamicode.com
首页 > 编程语言 > 详细

程序员的基本功之数组与内存控制

时间:2016-07-30 23:55:24      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

1.数组初始化

Java的数组是静态的,既数组一旦初始化之后,该数组的长度就不可变,Java的数组需要初始化才能使用

数组的初始化就是为数组对象在堆内存中分配一段数组长度的连续的内存空间,并设定初始值(注意并不是数组变量初始化,而是数组对象)

 技术分享

 

初始化的方式有两种:

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

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

数组变量本身是引用类型,存储在栈内存中,而数组对象存储在堆内存中 

 

int[] arr1 = new int[]{1,3,4,5};//静态
int[] arr2 = new int[5];//动态 

 

对于动态初始化而言,系统按如下规则给出初始值:

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

 数组元素的类型是基本类型中的浮点型 short double ,则数组元素的值是0.0;

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

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

 数组元素的类型是引用类型 ,则数组元素的值是null;

 

对于int[] arr ; arr =  new int[]{2,5,-12,20}; 

当 执行 int[] arr;代码后 内存示意图

技术分享

 

当 执行 arr = new int[]{2,5,-12,20}; 代码后

技术分享

 

 

------------------------------------------------------------------------------------------------------------------------------- 

 

 

----------------------------------------------------------------------------------------------------------------------- 

 

 

------------------------------------------------------------------------------------------------------------------------------------- 

 

 

--------------------------------------------------------------------------------------------------------------------------------------- 

 

------------------------------------------------------------------------------------------------------------------------------------------ 

 

程序员的基本功之数组与内存控制

标签:

原文地址:http://www.cnblogs.com/lilixin/p/5721899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!