栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数组有哪三种初始化方式?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组有哪三种初始化方式?

数组的三种初始化及内存分析 1. Java内存简单分析

他包含三个部分

  1. 堆:存放new的对象和数组,可以被所有的线程共享,不会存放别的对象引用。
  2. 栈:存放基本变量类型(会包含这个类型的基本数值),引用对象的变量(会存放这个引用在堆里面的具体地址)
  3. 方法区:可以被所有的线程共享,包含了所有的class和static变量。

咱们简单的分析一下

  • 声明数组:int[] aa = null; 这个aa就会存放在栈里面,没有给他分配空间
  • 创建数组:aa = new int[10]; 这个时候他被分配了空间,他会放在堆里面。
  • 然后数组元素赋值:
aa[0]=1;
aa[1]=2;
aa[2]=3;
aa[3]=4;
aa[4]=5;
aa[5]=6;
aa[6]=7;
aa[7]=8;

这些数组元素的数值,也是被存放在堆里面,此时你会发现,我前面定义到int[10],而我只给他们赋值到aa[7],那么其他的数组元素,会输出什么,在java里面,从数组被分配空间的那一刻,每一个数组元素元素的默认值都是 0 ,也就是你没有对数组元素进行赋值的话,你把他们输出,他们输出结果都是0 。

2.数组的三种初始化
  1. 静态初始化:

int[] aa = {1,2,3,4};

man[] mans = {new man(1,1),new man(2,2)}

  1. 动态初始化:

int[] aa = new int[2];

aa[0] = 1;

aa[1] = 2;

  1. 数组的默认初始化:

数组是引用类型,它的元素相当于实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582449.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号