【JAVA基础教程】-浅谈数组及其内存控制
2015-06-04 15:16
816 查看
在用JAVA数据前我们都知道必须要先对数组对象进行初始化。当数组的所有元素都被分配合适的内存空间,当制定了初始值时,数组初始化完成。程序以后将不能重新改变数组对象在内存中的位置和大小。那么:
1.JAVA数组为静态,即一旦初始化后,其长度是不可改变的。
2. 数组变量是引用变量,并不是数组对象本身。
3. 两种初始化方式:
动态初始化:指定数组的长度,初始值自动生成。
静态初始化:指定初始值,长度自动生成。
4. JAVA中,引用变量本身无需初始化,引用变量所引用的对象是需要初始化的。
5. 所有局部变量(基本类型变量、引用类型变量)都存于所在方法的栈内存中,引用变量所引用的实际对象(数组对象、Java对象)存放于堆内存中。
=》引用变量不一定存放于栈内存中,eg,3维数组
*易混淆:引用变量何时指代其本省,何时指代堆内存中其引用的对象?
未调用其方法或属性,指代其本身;反之,指代堆内存中其引用的对象
6. 基本类型数组:每一个元素都是值类型(基本类型)
引用类型数组:每一个元素还是引用类型,还需要指向实际对象
7. Java只允许通过引用变量访问堆内存中的数组对象,不允许直接访问堆内存中的数组对象
8. 多维数组按一维数组进行初始化,从最左端开始初始化,每一元素按照引用类型,进一步初始化
eg:
int[][] a;
a = new int[4][];
a[0] = new int[2];
PS:如有什么问题可以在JAVA群里:457036818提出或者直接留言
1.JAVA数组为静态,即一旦初始化后,其长度是不可改变的。
2. 数组变量是引用变量,并不是数组对象本身。
3. 两种初始化方式:
动态初始化:指定数组的长度,初始值自动生成。
静态初始化:指定初始值,长度自动生成。
4. JAVA中,引用变量本身无需初始化,引用变量所引用的对象是需要初始化的。
5. 所有局部变量(基本类型变量、引用类型变量)都存于所在方法的栈内存中,引用变量所引用的实际对象(数组对象、Java对象)存放于堆内存中。
=》引用变量不一定存放于栈内存中,eg,3维数组
*易混淆:引用变量何时指代其本省,何时指代堆内存中其引用的对象?
未调用其方法或属性,指代其本身;反之,指代堆内存中其引用的对象
6. 基本类型数组:每一个元素都是值类型(基本类型)
引用类型数组:每一个元素还是引用类型,还需要指向实际对象
7. Java只允许通过引用变量访问堆内存中的数组对象,不允许直接访问堆内存中的数组对象
8. 多维数组按一维数组进行初始化,从最左端开始初始化,每一元素按照引用类型,进一步初始化
eg:
int[][] a;
a = new int[4][];
a[0] = new int[2];
PS:如有什么问题可以在JAVA群里:457036818提出或者直接留言
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- [Android]在代码里运行另一个程序的方法
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树