JavaSE_数组与调试精选.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在任何已有类型后加上方括号[ ],又变成一种新类型,这种类型统称为数组类型,所有的数组类型又属于引用类型。 Java的数组要求所有数组元素具有相同的数据类型。因此,在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据。 一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变。即使把某个数组元素的数据清空,但它所占的空间依然被保留,依然属于该数组,数组的长度依然不变。 Java的数组既可以存储基本类型的数据,也可以存储引用类型的数据。 值得指出的是:数组也是一种数据类型,它本身是一种引用类型。 Java语言支持两种语法格式来声明数组: type[ ] arrayName; type arrayName[ ]; 对于这两种语法格式,一般推荐使用第一种格式。因为第一种格式不仅具有更好的语意,也具有更好的可读性。 数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。 注意:定义数组时不能指定数组的长度 例子:com.geminno.day3.ArrayTest 1、初始化时由程序员显式指定每个数组的初始值,由系统决定需要的数组长度。 int a [] = {1,2,3,4} 2、初始化时程序员指定数组长度,由系统为数组元素分配初始值 arrayName = new type[ length]; 在上面的语法中,需要指定一个int整型的length参数,这个参数指定了数组的长度,也就是可以容纳数组元素的个数。 例子:com.geminno.day3.ArrayTest 数组最常用的用法就是访问数组元素,包括对数组元素赋值和访问数组元素的值,访问数组元素是通过在数组引用变量后紧跟一个方括号([ ]),方括号里是数组元素的索引值。 Java语言的数组索引是从0开始的,也就是说,第一个数组元素的索引值为0,最后一个数组元素的索引为数组长度减1。 如果访问数组元素进指定的索引小于0,或者大于等于数组的长度,编译程序不会出现任何错误,但运行时出现异常:java.lang.ArrayIndexOutOfBoundsException:2(数组索引越界异常),在这个异常提示信息后有一个int 整数,这个整数就是程序员试图访问的数组索引。 所有数组都提供了一个length属性,通过这个属性可以访问到数组的长度,一旦获得了数组的长度后,就可以通过循环来遍历该数组的每个数组元素。 求出最大值,最小值 排序(冒泡,选择) 折半查找 从JDK1.5 之后,Java提供了一种更简单的循环:foreach循环,这种循环遍历数组和集合更加简洁。使用foreach循环遍历数组和集合元素时,无须获得数组和集合长度,无须根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素。 当使用foreach循环来迭代输出数组元素或集合时,通常不要对循环变量进行赋值,虽然这种赋值在语法上是允许的,但没有太大的意义,而且极容易引起错误。 例子:com.geminno.day3.ForEachTest 只要类型相互兼容,可以让一个数组变量指向另一个实际的数组,这种操作会产生数组的长度可变的错觉。 但由于数组变量整体赋值导致的数组的长度可以改变,只是一个假相。 对于基本类型数组而言,数组元素的值直接存储在对应的数组元素中,因此,初始化数组时,先为该数组分配内存空间,然后直接将数组元素的值存入对应数组元素中 引用类型数组的数组元素是引用,因此情况变得更加复杂:每个数组元素里存储的还是引用,它指向另一块内存,这块内存里存储了有效数据。 下面程序将定义一个Person[ ] 数组,接着动态初始化这个Person[ ]数组,并为这个数组的每个数组元素指定值。 例子:com.geminno.day3.Person Java语言提供了多维数组的语法,但多维数组实质上还是一维数组。Java语言里的数组类型是引用类型,因此,数组变量其实是一个引用,这个引用指向真实的数组内存。数组元素的类型也可以是引用,如果数组元素的引用再次指向真实的数组内存,这种情形看上去很像多维数组。 定义二维数组的语法: type[ ] [ ] arrName; 例子:com.geminno.day3.TwoDimensionTest Arrays类里包含的一些static修饰的方法可以直接操作数组。 举例:com.geminno.day3.ArraysTest 断点调试 断点调试 调试:Debug,是Eclipse的自

文档评论(0)

2518887 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档