重点讲述问题:
(1)、Java数组在内存分配方面的知识
(2)、Java数组的静态特征,即Java数组一旦初始化完成,该数组长度将不可改变
(3)、Java数组静态初始化、动态初始化的内存分配细节
(2)、Java数组的静态特征
Java数组是静态的,即当数组被初始化后,该数组的长度是不可变的。
(3)、Java数组静态初始化、动态初始化
Java程序中的数组必须经过初始化才可使用。所谓初始化,就是为数组对象的元素分配内存空间,并为每个元素指定初始值。
静态初始化:初始化时由程序显式指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:初始化时只指定数组长度,由系统为数组元素分配初始值。
package com.crazyjava;
public class OneArray {
public static void main(String[] args) {
//采用静态初始化方式初始化数组
String[] books = new String[]{
"Java编程思想",
"操作系统",
"计算机网络"
};
//采用静态初始化简化形式初始化数组
String[] names = {
"孙悟空",
"唐僧",
"猪八戒"
};
//采用动态初始化数组
String[] strArr = new String[5];
System.out.println("第一个数组长度:"+books.length);
System.out.println("第二个数组长度:"+names.length);
System.out.println("第三个数组长度:"+strArr.length);
}
}
(1)、Java数组在内存分配方面的知识
执行动态初始化时系统为数组元素分配初始值:
(1)数组元素类型为整数类型(byte,short,int,long),为0.
(2)数组元素类型为浮点类型(float,double),为0.0.
(3)为布尔型(boolean),为false
(4)为引用类型,为null
Java的数组是静态的,一旦为数组初始化完成,数组元素的内存空间分配即结束,程序只能改变数组元素的值,而无法改变数组的长度。
Java的数组变量是引用类型的变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中即可使用该数组变量。
所有局部变量都是放在栈内存里保存的,不管其是基本类型的变量,还是引用类型的变量,都是存储在各自的方法栈区中;但引用类型变量所引用的对象则总是存储在堆内存中。
堆内存中的对象通常不允许直接访问,只能通过引用变量。
分享到:
相关推荐
java-c语法8---数组的数组1 java视频 马克java社区 马克towin
这是西安软件外包服务学院的Java教学课件,根据《java核心编程技术》编写的,内容很详细,简单易懂
黑马程序员 - Java基础教学 - 04 - 数组、进制转换、二维数组
java语法 数组 马克-to-win java视频 array 的详细介绍
螺旋数组的java实现-----------------------------------------------------------------------------------------------------------
java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!
java数组和链表底层-链表的底层原理和实现 数组和链表.pdf
Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程...
(9条消息) 【中国大学MOOC】算法设计与分析-分而治之篇一-最大子数组1-Java_t949500898的博客-CSDN博客.html
Java数组在内存分配方面的知识;Java数组的静态特征;对于数组变量而言,一定要区分它何时是数组变量,何时代表数组对象本身。
Java中数组实例---一维数组.pdf 学习资料 复习资料 教学资源
java代码-使用java解决回文二维数组的源代码 ——学习参考资料:仅用于个人学习使用!
小樱桃格式的Java初级篇格式,如果需要小樱桃软件的可以私聊我,不需要关注哦,私聊即可
(完整版)Java程序设计任务驱动式教程-任务十一-用数组存储信息(使用数组).ppt
06-Java基础(数组-内存图解)
Java栈的实例-数组和链表两种方法 数组和链表.pdf
Java基础精品课09-方法补充录屏3.对象数组.mp4
java语法 非矩形数组 马克-to-win java视频 二重循环
本书把容易被Java程序员所忽视的内容整理成书,介绍了Java的对象、数组的内存分配,介绍了常见集合的实现细节、内存回收的细节、表达式、流程控制、面向对象、异常的“陷阱”,常用的数据结构和算法的实现以及其他...
java数组 java数组_基于java实现的环形缓冲数组