java数组学习

1. java数组的静态特性:

         java是静态语言,java中数组的长度是固定的。还有,数组元素的类型也是在定义时指定了的。

2. java数组里的关键词:

         数组变量 : 引用变量 , 不过这个引用的类型是数组类型。数组类型很奇特,不需要程序员来设计类的属性和方法,只要在已知的引用类型(类,接口,还有数组)后加一个[], JVM就自动生成了这样的新类型。

        作为一个变量,它是存在于栈空间中的。不过由于其是一个引用变量,其所指向的内容(保存的值)是在堆空间中。

         数组对象 :保存子堆空间中的内容,是类型相同的对象,集中存储在一起。

         数组元素:  通过数组下标所引用的变量,记住在栈空间中保存的首地址(数组名),而数组元素师动态指向的。

 

3. java数组的初始化机制:

        java数组初始化,分为两种:

        静态初始化,直接在定义时指定其值,那么JVM会自动计算它的长度等其他属性。

        动态初始化,定义和赋值分两步。不过这时在定义时,需要指定它的长度。

java中引用变量的初始化是堆内存的概念,也就是对堆内存中的对象进行初始化。

要不然这个初始化还是在栈内存中的概念,对象型赋值null,原生类型 赋值 0,0.0, false等等。

4. java的多维数组概念:

        java中其实没有多维数组这样的实体。在c语言中,多维数组考虑的是,按行优先,然后将所有元素集中存储。但是在java中,在存储这一层次上,只有一维数组的概念。比如,int[][][], 这个顶层的一维数组的数组元素类型是int[][],也就是一个引用嘛。这像啥,像是数组和链表的联合使用。

 

reference:

       1. 《疯狂java,突破程序员基本功的16课》 李刚。

原文地址:https://www.cnblogs.com/haore147/p/4214134.html