- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4数组精品课件
数组 有关内存分配的知识 一维数组的声明、创建和初始化 数组元素的引用 一维数组的应用 二维数组的声明和使用 与数组操作相关的方法 数组 有关内存分配的一些知识 Java把内存划分成四块:栈、堆、数据区和代码区。 局部变量和对象的引用变量都在方法的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 数组 有关内存分配的一些知识 在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。 引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。 数组 数组的基本概念 数组:一组有顺序、具有相同数据类型的数据集合。或者说数组是用来存储一组相同类型数据的数据结构。 数组的长度:数组的元素个数。 数组的下标:数组元素在数组中的位置。 数组的维数:数组下标的个数。 Java中的数组和其它语言中的数组用法类似,特殊之处即:Java中的数组属于引用类型,把它当作对象来处理的。而数组中的每个元素相当于对象的成员变量。 数组中的元素可以是任何数据类型:包括基本类型和引用类型。 数组 声明数组: 数组元素类型 数组名[ ]; 数组元素类型[ ] 数组名; 例如: int x[ ]; int[ ] x; 注:java在数组定义中并不为数组元素分配内存,所以[]中没有指出数组的长度。 int[100] x; //非法,声明数组时不定指定长度 数组 创建数组(为数组分配内存空间) 利用new关键字创建数组对象,格式为: 数组名= new 数组元素的数据类型[数组元素个数];如: x = new int[100]; //创建100个元素的整型数组 声明数组和创建数组空间同时完成,如: int[ ] x = new int[100]; //默认的元素全部为0 等价于: int [ ] x //执行后的内存状态如图a x=new int[100]; //创建数组,执行后的内存状态如图b 数组 内存布局 数组 内存布局 数组 内存布局 可以改变x的值,让它指向另外一个数组对象,或者不指向任何数组对象,只需要将常量null赋值给x。如x=null;这条语句执行完后,内存状态如图c所示。 数组 数组中各种数据类型的初始值 数组 public class Test { public static void main(String[] args) { int[] s; s = new int[5]; for(int i=0;i5;i++) { s[i] = i; } } } 数组 public class Test { public static void main(String[] args) { int[] s; s = new int[5]; for(int i=0;i5;i++) { s[i] = i; } } } 数组 public class Test { public static void main(String[] args) { int[] s; s = new int[5]; for(int i=0;i5;i++) { s[i] = i; } } } 对象数组 对象数组:数组中的元素是引用类型。 public class Test { public static void main(String[] args) { Date[] days; days = new Date[3]; for(int i=0;i3;i++) days[i] = new Date(2008,10,i+1); } } class Date { int year, month, day; Date(int y, int m, int d) {year = y;month = m;day = d;} } 数组 数组的初始化 先定义后初始化(动态初始化) int[] ia = new int[4];
文档评论(0)