Java数组

柔情痞子 提交于 2020-02-17 08:05:49

1.Java中的数组

  数组是一种引用类型。数组用于存放一组数据类型统一的数据。

1.1.一维数组

  定义一个数组:

    数据类型[] 数组名称;

  动态初始化:

    数据类型[] 数组名称 = new 数组类型[数组长度];

1 int[] javaCore = new int[74];

  静态初始化:

    数据类型[] 数组名称 = new 数组类型[]{元素1,元素2,...};

  静态初始化(简化格式,常选择这样初始化数组):

    数据类型[] 数组名称 = {元素1,元素2,...};

1 double[] salary = new double[] {3500.0, 5500.0, 7000.0};
2 double[] salary = {3500.0, 5500.0, 7000.0};  //简便格式

 

   数组的长度:属性length

1 int[] ar = { 3, 2, 45, 455, 4, 45, };
2 System.out.println(ar.length);

   注意

    一旦数组被创建,数组的长度就不能发生改变。

1.2.二维数组

  二维数组,就是元素为一维数组的数组。

  定义格式:

    A.数据类型[][] 数组名;  (推荐方式)

    B.数据类型 数组名[][];

    C.数据类型[] 数组名[];

  初始化二维数组的方式:

    A.动态初始化:数据类型[][] 数组名 = new 数据类型[m][n];

    B.静态初始化:数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,...}, {...}, {...},...};

      简化格式:数据类型[][] 数组名 = {{元素1,元素2,...}, {...}, {...},...};

  注意:这么给数组赋值,是错误的。

int[][] arr = new int[3][3];
arr = {{1,2,3}, {2,3,4}, {5,6,7}};
// 动态数组不可以如此赋值

 

2.Java的内存分配

  定义数组后,会在内存中开辟一定的空间。申请内存在java中由JVM来完成,JVM把从系统内存申请到的内存划分为五个部分。包括:栈(Stack,主要用来存放局部变量)、堆(Heap,存放对象)、方法区(Method Area,存放与.class相关的信息)、本地方法区(Native Method Area,与操作系统相关)、寄存器(pc Register,与cpu相关)。

  堆,存储的是new出来的东西(实体、对象、),堆中存储的数据有这些特点:每一个对象都有地址值,每一个对象的数据都有默认值,使用完毕后会在垃圾回收器空闲的时候被回收。

  栈,存储的是局部变量(在方法中被定义的变量,称作“局部变量”)。使用完毕,立即回收。

数据类型的默认值
类型 默认值
byte、short、int、long 0
float、double 0.0
char '\u0000'
boolean false
引用类型 null
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!