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

数组及其在内存中的分配

时间:2018-10-13 22:47:59      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:赋值   地址   分配   基本   数据   数组元素   als   地方   内存   

1.一维数组
  • 数组概念:数组是储存同一种数据类型多个元素的集合。也可以看成是一个容器。它既可以存储基本数据类型,也可以存储引用数据类型(后面介绍)。
  • 定义格式1: 数据类型[] 数组名;
    ??格式2: 数据类型 数组名[];
  • 数组的初始化动态初始化
    ??数组的初始化:数组必须先初始化,然后才能使用,就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
    ??初始化分类:
    ????(1)动态初始化:只指定长度,由系统给出初始化值;
    ????(2)静态初始化:给出初始化值,由系统决定长度。
    ????注意:这两种方式只能用一种,不能进行动静结合。
    ??动态初始化格式:
    ????数据类型[] 数组名 = new 数据类型[数组长度];
    ????数组长度其实就是数组中元素的个数。

    2.二维数组

  • 格式1:数据类型[][] 变量名 = new 数据类型[m][n];
    ??m表示这个二维数组有多少个一维数组,n表示每一个一维数组的元素个数。
    ??以下格式也可以表示二维数组(不推荐使用)
    ????a.数据类型 数组名[][] = new 数据类型[m] [n];
    ????b.数据类型[] 数组名[] = new 数据类型[m] [n];
    格式2:数据类型[] [] 变量名 = new 数据类型[m] [];
    格式3:数据类型[] [] 变量名 = new 数据类型[] []{{元素···},{元素···}....}

    3.数组在内存中的分配

  • 栈:存放局部变量
    ??局部变量:在方法定义中或者方法声明上的变量。
  • 堆:存放的是所用new出来的东西
    ??特点:(1)每一个new出来的东西都会为其分配一个地址值;
    ????(2)每一个变量都有一个默认的值
    ??????byte,short,int,long--0
    ??????float,double---0.0
    ??????char--‘\u0000’
    ??????boolean--false
    ??????引用数据类型--null
    ????(3)使用完毕就变成了垃圾,等待垃圾回收器对其回收。
  • 方法区
  • 本地方法区(和系统有关)
  • 寄存器(CPU使用)

数组及其在内存中的分配

标签:赋值   地址   分配   基本   数据   数组元素   als   地方   内存   

原文地址:http://blog.51cto.com/13987153/2299656

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