Java程序设计 陈锐 第10章 数组和字符串新.pptVIP

Java程序设计 陈锐 第10章 数组和字符串新.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 数组和字符串 10.1 数组 10.2 文本处理类 10.3 使用StringTokenizer类分析字符串 10.4 Character类 10.5 字符串与字符、字节数组 10.1 数组 在数学中我们接触过集合的概念:将指定对象集中在一起即形成集合,每个对象是集合中的元素。可以形象地将数学中集合的概念转换成Java程序设计中的一种基本的数据结构──数组。数组是用来存取具有相同类型的一组数据的结构,其中的每一个数据称为数组的一个元素,我们可以通过一个整数的下标(index)去访问其中的任何一个元素。 10.1 数组 在Java中声明一个数组是很简单的。要想声明一个数组,要先声明数组的类型,再声明数组变量的名字。例如:下面的形式声明了一个整数数组a: int[] a; 或 int a[]; 10.1 数组 这两种形式都是可以接受的,请读者根据个人的爱好选择,但习惯上倾向于采用第一种形式。再如:根据我们设计的学生类,想声明一个学生类的数组,则可以采用如下格式: Student[] aStudent; 或 Student aStudent[]; 10.1 数组 要想初始化一个数组,有隐式和显式初始化两种方式。 隐式初始化 用户可以像实例化一个对象一样采用关键字new来实现。如初始化整数数组a: int[] a = new int[100]; 或 int a[]= new int[100]; 再如初始化学生类数组 Student[] aStudent= new Student[50]; 或 Student aStudent[] = new Student[50]; 10.1 数组 所谓显式初始化,也就是在声明一个数组的时候,直接进行数组的赋值。如声明一个具有5个元素的整数数组b: int[] b = {1, 2, 3, 4, 5}; 注意:在这种初始化方式中,我们没有使用关键字new,也没有指定数组元素的个数。但这样做是可行的,系统会自动计算数组元素的个数,创建一个固定容量的数组。 10.1 数组 在数组中,有一种称为匿名数组的形式。顾名思义,也就是没有名字的数组,换句话说,就是声明一个数组但并没有与一个数组变量关联起来。如: new int[]{10, 20,30,40,50}; 根据以前我们的讲述,操纵对象都是通过对象句柄来操纵的,那么声明一个匿名数组有什么作用呢? 10.1 数组 声明一个匿名数组的目的是将一个新的匿名数组赋值与一个已经存在的数组变量,而不用再重新生成一个新的数组变量,但已经存在的数组变量的类型一定要与匿名数组的类型一致。如: int[] array = {1, 2, 3}; array = new int[]{10, 20,30,40,50}; 这是完全可以的,我们可以不必考虑原来数组的大小,而重新生成一个新的数组,让已经存在的数组变量重新指向一个新的数组对象,系统会自动计算新的数组对象的长度(容量)。 10.1 数组 由于数组本身属于对象类型,它在Java公开库中有一个类与之相对应──Arrays类。当数组变量传递给另外一个数组变量时,它们传递的是对象句柄,也就是按址传递。例如: int[] a = {1, 2, 3, 4, 5}; int[] b = a; 如果我们访问a[4],它是指向5的,如果访问b[4],它同样也是指向5的。 10.1 数组 我们修改的是数组b中的第三个元素的值,通过程序运行的结果可以看出,数组a的第三个值也相应的做了修改,所以数组是按址传递的,它属于对象类型。 我们也可以在修改数组b中的元素时不会影响到数组a中的元素,这就是数组元素的拷贝。这种拷贝方式就要用到System类中的一个很有用的方法arraycopy(),该方法中各个参数的含义如下: arraycopy(源数组, 开始元素的序列号, 目的数组, 目的数组开始元素序列号, 拷贝元素个数) 10.1 数组 注意:这种拷贝只是传值传递的基本类型是可以的,由于对象类型的元素是一个对象句柄,即使拷贝过去也只是个对象句柄的拷贝,并没有多少实际性的意义可言。 10.1 数组 在前面的章节中,在解释main方法中的String[] args,曾经提到过这是用来接收命令行传入的参数,String[]是声明 args可存储字符串数组。那如何从命令行输入参数,并让程序接收呢?现在就可以解决这个问题了。 10.1 数组 如果要对数组实现排序,就需要用到数组类(Arrays)中的方法了。在数组类中,关于排序的方法有很多种,主要是根据不同的算法而写成的方法,我们主要采用的一个是快速排序算法,这对于大多数的数据集合来讲是非常有效的一种算法。 10.2 文本处理类 文本的处理在程序中是不可缺少的一部分,如何有效

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档