- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java第2版第5章要点
第5章 数组与字符串 在程序设计中,数组是常用的数据结构。无论是在面向对象的程序设计中,还是面向过程的程序设计中,数组都起着重要的作用。从数组的构成形式上可以分为一维数组和多维数组。 5.1 数组的基本概念 所谓数组就是相同数据类型的元素按一定顺序排列的集合。在Java中数组元素可以由简单数据类型的量组成,也可以由对象组成。数组中的每个元素都具有相同的数据类型,可以用一个统一的数组名和一个下标来惟一地确定数组中的元素。 为了充分地理解数组的概念,首先介绍一下Java有关内存分配的知识。Java把内存分为两种:栈内存和堆内存。 在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配,当在一段代码块中定义一个变量时,Java就在栈内存中为这个变量分配内存空间,当超出变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new运算符创建的对象和数组,在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。在堆中创建了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象的在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,引用变量实际上保存的是数组或对象在内存中的地址(也称为对象的句柄),以后就可以在程序中使用栈的引用变量来访问堆中的数组或对象。引用变量就相当于是为数组或对象起的一个名称。 总的来说,数组主要有如下几个特点。 ● 数组是相同数据类型的元素的集合; ● 数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起; ● 数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的每二个元素,依次类推。 5.2 一维数组 一维数组是最简单的数组,其逻辑结构是线性表。要使用一维数组,需要经过定义、初始化和应用等过程。 5.2.1 一维数组的定义 在使用Java的数组,一般要经过三个步骤:一是声明数组,二是创建空间,三是创建数组元素并赋值。前两个步骤的语法如下: 数据类型[ ] 数组名; //声明一维数组 数组名=new 数据类型[个数]; //分配内存组数组 数组声明之后,接下来便是要分配数组所需的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以“new”运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。 下面举例来说明数组的定义,如: int[] x; x=new int[10]; 在声明数组时,也可以将两个语句合并成一行,格式如下: 数据类型[] 数组名 = new 数据类型[个数]; 如: Int[] x= new int [10]; 5.2.2一维数组元素的访问 要想使用数组里的元素,可以利用数组名和下标来实现。数组元素的引用方式为: 数组名[下标] 其中“下标”可以是整型数或表达式。如a[3+i](i为整数)。Java数组的下标是从0开始的。如: int[] x= new int [10]; 其中x[0]代表数组中第1个元素,x[1]代表第2个元素,x[9]为第10个元素,也就是最后一个元素。 【例5.1】声明一个一维数组,其长度为5,利用循环对数组元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下: //app5_1.java 一维数组 public class app5_1 { public static void main(String args[ ]) { int i; int a[]; //声明一个数组a a=new int[5]; //分配内存空间供整型数组a使用,其元素个数为5 for(i=0;i5;i++) //对数组元素进行赋值 a[i]=i; for(i=a.length-1;i=0;i--) //逆序输出数组的内容 System.out.print(“a[”+i+”]=”+a[i]+”,\t”); System.out.println(“\n数组a的长度是:”+a.length); } } 该程序的运行结果如下: a[4]=4, a[3]=3, a[2]=2, a[1]=1, a[0]=0 数组a的长度是:5 5.2.3 一维数组的初始化及应用 对数组元素的赋值,既可以使用单独方式进行(如上例),也可以在定义数组的同时就为数组元素分配空间并赋值,也称为对数组的初始化。其格式如下: 数据类型[] 数组名={初值0,初值1,…,初值n}; 如: int[] a={1,2,3,4,
文档评论(0)