首页 > 代码库 > java数组学习
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课》 李刚。
java数组学习