java程序设计模块6_第1页
java程序设计模块6_第2页
java程序设计模块6_第3页
java程序设计模块6_第4页
java程序设计模块6_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录目录学习目标学习目标掌握数组的创建与使用方法。掌握数组的创建与使用方法。掌握字符串类及其常用的操作方法。掌握字符串类及其常用的操作方法。目录目录案例案例说说明明 在实际生活中,我们会经常按照某一条件对事物进行排序,例如:学在实际生活中,我们会经常按照某一条件对事物进行排序,例如:学生按身高高低排队,学生成绩的排名等。那么在编程中,我们利用程序生按身高高低排队,学生成绩的排名等。那么在编程中,我们利用程序怎样实现排序呢?怎样实现排序呢? 在程序中,可以首先把这些要排序的数据存放到一个数组中,再利用在程序中,可以首先把这些要排序的数据存放到一个数组中,再利用循环来遍历数组中的每个元素来判断其大

2、小。本案例编辑、编译运行后循环来遍历数组中的每个元素来判断其大小。本案例编辑、编译运行后将把一组数据按从小到大的顺序输出显示出来,通过这个程序,我们来将把一组数据按从小到大的顺序输出显示出来,通过这个程序,我们来了解了解Java中数组的应用以及字符串的相关知识。中数组的应用以及字符串的相关知识。案例分析案例分析 要完成本案例程序,首先要使用文本编辑器编辑源程序,定义一个数要完成本案例程序,首先要使用文本编辑器编辑源程序,定义一个数组并初始化数组变量,然后循环判断数组中的每个元素值,根据判断结果将组并初始化数组变量,然后循环判断数组中的每个元素值,根据判断结果将两个数字的位置进行对调,最终实现这

3、一数组中的元素按照从小到大的顺序两个数字的位置进行对调,最终实现这一数组中的元素按照从小到大的顺序重新排列,并输出排序后的数组内容。最后完成程序的编译和运行。重新排列,并输出排序后的数组内容。最后完成程序的编译和运行。目录目录6.2.1 一维数组一维数组 数组的声明方式和一般数组的声明方式和一般变量的声明方式类似,需变量的声明方式类似,需要声明数组变量名和其数要声明数组变量名和其数据类型,并用据类型,并用 与一般的与一般的变量相区别。变量相区别。Java中声明中声明一维数组的格式为:一维数组的格式为: type arrayName;或或 type arrayName;例:例: int intA

4、rray;一维数组的声明一维数组的声明 要创建数组,为其分配内存空间,要创建数组,为其分配内存空间,与创建与创建Java的其他对象一样,应使的其他对象一样,应使用用new运算符,其格式如下:运算符,其格式如下: arrayName=new typearraySize; 通常,可以将数组的声明和创建通常,可以将数组的声明和创建合并为一条语句,即在数组声明的同合并为一条语句,即在数组声明的同时用时用new运算符为数组分配内存空间。运算符为数组分配内存空间。其格式如下:其格式如下:type arrayName=new typearraySize; 例:double dArray=new double

5、8;一维数组的内存分配一维数组的内存分配目录目录 (1)在声明数组的同时进行)在声明数组的同时进行初始化。例如:初始化。例如:int a=1,2,3,4,5; (2)在声明并创建数组后,)在声明并创建数组后,为每个元素分别赋值来对为每个元素分别赋值来对数组进行初始化。例如:数组进行初始化。例如: int a=new int5; a0=1; a1=2; a2=3; a3=4; a4=5;一维数组的初始化一维数组的初始化 当定义了一个数组,并为它分当定义了一个数组,并为它分配了内存空间后,就可以引用数配了内存空间后,就可以引用数组中的每一个元素了。数组元素组中的每一个元素了。数组元素的引用方式如下

6、:的引用方式如下: arrayNameindex 此外,由于数组在此外,由于数组在Java语言中语言中是作为一个对象来处理的,故每是作为一个对象来处理的,故每个数组都有一个个数组都有一个length属性,其属性,其值为数组的长度,可以通过值为数组的长度,可以通过“数数组名组名.length”的形式引用。例如,的形式引用。例如,a.length指明数组指明数组a的长度。的长度。 一维数组的引用一维数组的引用目录目录 【例例】编写程序测试数组,程序输出结果如图所示。源程编写程序测试数组,程序输出结果如图所示。源程序代码如下:序代码如下:目录目录目录目录 在Java语言中,二维数组可以看成是一个一维

7、数组的数组,其中一维数组的每一个元素又是一个一维数组。而更高维的数组也可以由此类推。二维数组的定义与一维数组的定义非常类似,只是在二维数组的定义与一维数组的定义非常类似,只是在一维数组的基础上再加上一对一维数组的基础上再加上一对“”,其定义格式如下:,其定义格式如下: type arrayName ; 或或 type arrayName定义定义方式方式type arrayName = new typearraySize1arraySize2;内存分配内存分配和初始化和初始化 arrayNameindex1index2 其中,其中,index1和和index2分别是数组元素的下标,每一分别是数组

8、元素的下标,每一维的下标都从维的下标都从0开始,最大值等于每一维的长度减开始,最大值等于每一维的长度减1。引用引用目录目录ArrayListArrayList类类的使用方法ArryList实现了可变大小的数组,即是动态数组实现了可变大小的数组,即是动态数组。 ArrayList List = new ArrayList(); for( int i=0;i 10;i+ ) /给数组增加给数组增加10个个int元元素素 List.Add(i); /程序做一些处理程序做一些处理 List.RemoveAt(5);/将第将第6个元素移除个元素移除 for( int i=0;i 3;i+ ) /再增加再

9、增加3个元素个元素 List.Add(i+20); Int32 values = (Int32)List.ToArray(typeof(Int32);目录目录默认的构造器,将会以默认(默认的构造器,将会以默认(16)的大小来初始化)的大小来初始化内部的数组。内部的数组。用一个用一个ICollection对象来构造,并将该集合的元素对象来构造,并将该集合的元素添加到添加到ArrayList。用指定的大小来初始化内部的数组。用指定的大小来初始化内部的数组。public ArrayList();public ArrayList(ICollection);public ArrayList(int);构

10、造器目录目录 Count属性是目前属性是目前ArrayList类包含的元类包含的元素的数量,这个属性素的数量,这个属性是只读的。是只读的。 Capacity属性是目前属性是目前ArrayList类能够包含类能够包含的最大数量,可以手动的最大数量,可以手动设置这个属性,但是当设置这个属性,但是当设置为小于设置为小于Count值时值时会引发一个异常。会引发一个异常。Count属性和属性和Capacity属性属性 目录目录(1)Add方法用于添加一个元素到当前列表的末尾。方法用于添加一个元素到当前列表的末尾。(2)AddRange方法用于添加一批元素到当前列表的末尾。方法用于添加一批元素到当前列表的

11、末尾。(3)Remove方法用于删除一个元素,通过元素本身的引用方法用于删除一个元素,通过元素本身的引用来删除。来删除。(4)RemoveAt方法用于删除一个元素,通过索引值来删除。方法用于删除一个元素,通过索引值来删除。(5)RemoveRange方法用于删除一批元素,通过指定开始方法用于删除一批元素,通过指定开始的索引和删除的数量来删除。的索引和删除的数量来删除。(6)Insert方法用于添加一个元素到指定位置,列表后面的方法用于添加一个元素到指定位置,列表后面的元素依次往后移动。元素依次往后移动。(7)InsertRange方法用于从指定位置开始添加一批元素,方法用于从指定位置开始添加一

12、批元素,列表后面的元素依次往后面移动。列表后面的元素依次往后面移动。目录目录方法一:方法一:ArrayList List=new ArrayList(); List.Add(1); List.Add(2); List.Add(3);Int32 values = (Int32)List.ToArray(typeof(Int32);ArrayList类与数组转换类与数组转换 方法二:方法二:ArrayList List=new ArrayList();List.Add(1);List.Add(2);List.Add(3);Int32 values = new Int32List.Count;Lis

13、t.CopyTo(values);目录目录 String是比较特殊的数据类型,它不属于基本数据类是比较特殊的数据类型,它不属于基本数据类型,但是可以和使用基本数据类型一样直接赋值,不使用型,但是可以和使用基本数据类型一样直接赋值,不使用new运算符进行实例化。也可以像其他类型一样使用运算符进行实例化。也可以像其他类型一样使用new运算符进行实例化。下面的代码都是合法的:运算符进行实例化。下面的代码都是合法的: String s1 = “abc”; String s2 = new String(“abc”);String对象的初始化对象的初始化目录目录(1)public int length()

14、方法方法 该方法的作用是返回字符串的长度,也就是返回字符该方法的作用是返回字符串的长度,也就是返回字符串中字符的个数。中文字符也是一个字符。串中字符的个数。中文字符也是一个字符。(2)public charAt(int index)方法方法 该方法的作用是按照索引值该方法的作用是按照索引值index (index取值范围从取值范围从0到到length()-1),获得字符串中的指定字符。,获得字符串中的指定字符。(3)public int compareTo(String anotherString)方法 该方法的作用是比较两个字符串的大小,比较的原理该方法的作用是比较两个字符串的大小,比较的原

15、理是依次比较每个字符的字符编码。首先比较两个字符串的是依次比较每个字符的字符编码。首先比较两个字符串的第一个字符,如果第一个字符串的字符编码大于第二个的第一个字符,如果第一个字符串的字符编码大于第二个的字符串的字符编码,则返回大于字符串的字符编码,则返回大于0的值,如果小于则返回小的值,如果小于则返回小于于0的值,如果相等则比较后续的字符,如果两个字符串中的值,如果相等则比较后续的字符,如果两个字符串中的字符编码完全相同则返回的字符编码完全相同则返回0。String类的类的常用方法常用方法目录目录 (5)public boolean startsWith(String prefix)方法和方法

16、和public boolean endsWith(String suffix)方法方法 startsWith方法:该方法的作用是判断字符串是否以某方法:该方法的作用是判断字符串是否以某个字符串作为开始,如果以对应的字符串开始,则返回个字符串作为开始,如果以对应的字符串开始,则返回true。 endsWith方法:该方法的作用是判断字符串是否以某方法:该方法的作用是判断字符串是否以某个字符串结尾,如果以对应的字符串结尾,则返回个字符串结尾,如果以对应的字符串结尾,则返回true。 (6)public boolean equals(Object o)方法方法 该方法的作用是判断两个字符串对象的内容

17、是否相同。该方法的作用是判断两个字符串对象的内容是否相同。如果相同则返回如果相同则返回true,否则返回,否则返回false。 (7)public int indexOf()方法方法 该方法的作用是查找特定字符或字符串在当前字符串该方法的作用是查找特定字符或字符串在当前字符串中的起始位置,如果不存在则返回中的起始位置,如果不存在则返回-1。String类的类的常用方法常用方法目录目录 (8)public String replace(char c1, char c2)方法和方法和public String replaceAll(String s1, String s2)方法方法 replace

18、方法的作用是替换字符串中所有指定的字符,方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。字符串不发生改变。 (9)public String substring(int beginIndex)方法和方法和public String substring(int beginIndex, int endIndex)方法方法 substring方法的作用是取字符串中的方法的作用是取字符串中的“子串子串”,所谓,所谓“子串子串”即字符串中的一部分。即字符串中的一部分。 (10)public St

19、ring toLowerCase()方法和方法和public String toUpperCase ()方法方法 toLowerCase方法的作用是将字符串中所有大写字符方法的作用是将字符串中所有大写字符都转换为小写。都转换为小写。 toUpperCase方法的作用是将字符串中的小写字符转方法的作用是将字符串中的小写字符转换为对应的大写字符。换为对应的大写字符。String类的类的常用方法常用方法目录目录 (11)public String trim()方法方法 该方法的作用是去掉字符串开始和结尾的所有空格,然该方法的作用是去掉字符串开始和结尾的所有空格,然后形成一个新的字符串。该方法不去掉字

20、符串中间的空格。后形成一个新的字符串。该方法不去掉字符串中间的空格。(12)public static String valueOf()方法方法 该方法的作用是将其它类型的数据转换为字符串类型,该方法的作用是将其它类型的数据转换为字符串类型,其参数可以是任何数据类型(其参数可以是任何数据类型(byte类型除外)。需要注意类型除外)。需要注意的是,基本数据和字符串对象之间不能使用以前的强制类的是,基本数据和字符串对象之间不能使用以前的强制类型转换的语法进行转换。型转换的语法进行转换。String类的类的常用方法常用方法目录目录目录目录 StringBuffer类和String类一样也用来代表字符

21、串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。StringBuffer对象的初始化对象的初始化 StringBuffer对象的初始化不像对象的初始化不像String类的初始化一样,类的初始化一样,Java提提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。 StringBuffer s = new StringBuffer(); StringBuffer s = new StringBuffer(“abc”

22、); StringBuffer s = new StringBuffer(10); 目录目录StringBuffer的常用方法的常用方法 (1)public StringBuffer append(boolean b)方法方法 该方法的作用是追加内容到当前该方法的作用是追加内容到当前StringBuffer对象的末对象的末尾,类似于字符串的连接。尾,类似于字符串的连接。 (2)public StringBuffer deleteCharAt(int index) 方法方法 该方法的作用是删除指定位置的字符,然后将剩余的内该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。容形成新

23、的字符串。 (3)public StringBuffer insert(int offset, boolean b) 方法方法 该方法的作用是在该方法的作用是在StringBuffer对象中插入内容,然后对象中插入内容,然后形成新的字符串。形成新的字符串。目录目录StringBuffer的常用方法的常用方法 (4)public StringBuffer reverse()方法方法 该方法的作用是将该方法的作用是将StringBuffer对象中的内容反转,然对象中的内容反转,然后形成新的字符串。后形成新的字符串。 (5)public void setCharAt(int index, char

24、ch) 方法方法 该方法的作用是修改对象中索引值为该方法的作用是修改对象中索引值为index位置的字符位置的字符为新的字符为新的字符ch。 (6)public StringBuffer replace(int start, int end, String str)方法方法 该方法的作用是将该方法的作用是将StringBuffer对象中的内容从对象中的内容从start位位置开始,到置开始,到end结束的字符串以结束的字符串以str代替。代替。目录目录StringTokenizer的初始化的初始化StringTokenizer类有两个常用构造方法:类有两个常用构造方法:StringTokenize

25、r(String s):为字符串:为字符串s构造一个分析器。构造一个分析器。StringTokenizer(String s, String delim):为字符串:为字符串s构造构造一个分析器。参数一个分析器。参数delim中的字符被作为分隔符。中的字符被作为分隔符。目录目录StringTokenizer的的常用方法常用方法 (1)countTokens(),返回,返回StringTokenizer类包含的元素类包含的元素个数。个数。 (2)hasMoreElements(),判断是否还有更多元素。,判断是否还有更多元素。 (3)hasMoreTokens(),判断是否还有更多元素。,判断是

26、否还有更多元素。 (4)nextElement (),返回,返回StringTokenizer类的下一个类的下一个元素。元素。 (5)nextToken(),返回,返回StringTokenizer类的下一个元素。类的下一个元素。目录目录目录目录6.3.1 编写源代码编写源代码6.3.2 编译源代码编译源代码6.3.3 运行程序运行程序目录目录目录目录训练内训练内容容 杨辉三角形有以下特点:每行的元素个数等于该行的行号,即第杨辉三角形有以下特点:每行的元素个数等于该行的行号,即第n行有行有n个元素;且第个元素;且第1行只有一个元素行只有一个元素1;从第;从第2行开始每行的第行开始每行的第1个个

27、和最后一个元素为和最后一个元素为1,每行的第,每行的第n个元素是上一行第个元素是上一行第n-1个元素和第个元素和第n个元素的和。个元素的和。训练训练目的目的输出杨辉三角形的前输出杨辉三角形的前4行。行。6.4.1 杨辉三角形杨辉三角形目录目录训练过训练过程程 1. 编写源代码编写源代码Yang.java 2. 编译和运行程序编译和运行程序 在命令提示符窗口下,将路径切换到在命令提示符窗口下,将路径切换到D:projectch06,然后输入:,然后输入: javac Yang.java 编译完成后,输入:编译完成后,输入: java Yang 按回车键按回车键目录目录目录目录训练内训练内容容 一

28、个身份证号码中包含着本人所在地区、出生日期等重要信息。在开发一个软件的过程中,要从身份证号码中取出一个人的生日信息。训练过训练过程程 1.编写源代码编写源代码 2.编译和运行程序编译和运行程序 在命令提示符窗口下,将路径切换到在命令提示符窗口下,将路径切换到D:projectch06,然后输入:,然后输入: javac TestIdentityCard.java 编译完成后,输入:编译完成后,输入: java TestIdentityCard 按回车键按回车键目录目录目录目录总结与总结与体体会会 由于身份证号码是由数字组成的字符串,且长度固定,个人的有关由于身份证号码是由数字组成的字符串,且长度固定,个人的有关信息被包含在这个字符串中。可以使用有关字符串操作的方法取出信息被包含在这个字符串中。可以使用有关字符串操作的方法取出身份证中包含的有关信息。程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论