Java程序设计课件第四章数组字符串向量与哈希表.ppt

上传人:max****ui 文档编号:6362319 上传时间:2020-02-23 格式:PPT 页数:43 大小:560.50KB
返回 下载 相关 举报
Java程序设计课件第四章数组字符串向量与哈希表.ppt_第1页
第1页 / 共43页
Java程序设计课件第四章数组字符串向量与哈希表.ppt_第2页
第2页 / 共43页
Java程序设计课件第四章数组字符串向量与哈希表.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
Java语言程序设计第四章数组 字符串 向量和哈希表 讲授人 傅晓阳教授 DavidFu 上章回顾 final abstract与static分别有什么用法 接口的作用是什么 完成一个 Animal 接口 接口中有方法 sleep 与 prey 定义一个浮点数x为15 8 定义一个字符变量c为 t 重载和覆盖的区别 类中的变量域与方法有几种访问说明符 分别是什么 两个类在不同的包中 一个类可以访问另一个类中用protected修饰的方法 这句话对不对 为什么 DavidFu 本章课程纲要 字符串 数组 DavidFu 本课程纲要 多维数组的用法 一维数组的用法 一维数组定义 数组 DavidFu 一维数组定义 数组变量的声明 数组类型 数组变量 例如 int var String str 但在java编程中 比较常用的是将方括号放在数组变量的前面 这比较适合一次声明多个数组变量 例如 double a b c d 但如果采用第二种方式定义多个数组变量则会出现错误 例如 doublea b c d DavidFu 数组对象的创建 new操作符数据类型 数组变量 new数据类型 数组长度 int var newint 5 lengthvar 0 var 1 var 2 var 3 var 4 DavidFu 数组对象的创建 数组初始化语句数据类型 数组变量名 数组元素1 数组元素2 数组元素n 例如 int a 1 2 6 25 30 char c j a v a DavidFu 数组元素的访问 数组元素中存储了一组相同类型的数据 通过数组下标来访问数组中的各个元素的 数组变量名 数组元素下标 a 3 c 2 数组元素保存了数组中的一个数据值 对于以上定义的数组 例如 a 3 25 c 2 v DavidFu 数组元素的访问 数组可以通过对数组元素的修改来改变数组的数值 a 3 80 c 3 v 通过对数组元素的更改 原数组将改变为 int a 1 2 6 80 30 char c j a v v DavidFu 数组元素的访问 数组的数据元素的类型也可以是引用数据类型String Student对于引用类型数组的数据单元进行赋值时 需要使用new来创建一个新的对象 并将该对象的引用赋值给数组变量Student stu newStudent 30 stu 0 newStudent 20080401 张三 String str newString 5 str 0 newString java str 1 newString hello DavidFu 引用数组的声明与对象元素的赋值过程 DavidFu 本课程纲要 多维数组的用法 一维数组的用法 一维数组定义 数组 DavidFu 一维数组的用法 下面通过一个一维数组的实例来说明该例题是解决一个数据排序的问题 一维数组的声明 声明整型数组a 以及其他整型变量inta 创建对象 根据用户输入的数组长度 创建整型数组a newint arrayLength DavidFu 一维数组的用法 初始化数据for i 0 i a length i a i Integer parseInt 10 数组元素的使用if a j a i temp a i a i a j a j temp DavidFu 本课程纲要 多维数组的用法 一维数组的用法 一维数组定义 数组 DavidFu 多维数组 定义数组 多维数组的声明格式如下 数据类型 数组变量 数据类型数组变量 其中 代表数组的维数 例如 声明一个字符型的二维数组和整型的三维数组 char c array int tri array DavidFu 多维数组 创建数组对象 1 直接创建数组对象直接创建数组对象的格式为 数据类型 数组变量 new数据类型 第n维元素的个数 第n 1维元素的个数 第1维元素的个数 例如 创建一个三维整型数组 int tri array newint 2 3 5 DavidFu 多维数组 创建数组对象 2 逐次创建数组对象多维数组也可以象一维数组那样创建对象 可以从高维到低维逐次创建 其格式为 new数据类型 第n维元素的个数 new数据类型 第n 1维元素的个数 new数据类型 第1维元素的个数 对于二维的字符型数组可以如下创建数组对象 char c array c array newchar 2 c array 0 newchar 3 DavidFu 多维数组 创建数组对象 3 初始化语句枚举数组对象 初始化语句枚举数组对象类似于一维数组对象的初始化过程 其格式为 数组元素 变量名 数组元素i1 数组元素i2 数组元素im 例如 char c array a b c d e 参见实例4 2weatherShow java DavidFu 本章课程纲要 字符串 数组 DavidFu 本课程纲要 变量字符串StringBuffer String字符串操作 常量字符串String 字符串 StringBuffer字符串修改操作 DavidFu 常量字符串String 创建字符串对象对于常量字符串的创建有两种方法 1 字符串直接量赋值方式 2 采用new运算符创建字符串对象方式 DavidFu 字符串直接量赋值方式 字符串池示意图 DavidFu 字符串直接量赋值方式 字符串池存储方式示意图 DavidFu 本课程纲要 变量字符串StringBuffer String字符串操作 常量字符串String 字符串 StringBuffer字符串修改操作 DavidFu 字符串数据类型的转换 1 基本类型转换为字符串类型采用String类的成员方法valueOf Stringstr String valueOf 15 在java语言中 存在一个鼻祖类Object 它是任何类的父类 该类中包含一个成员方法publicStringtoString 将整型类型的a 20 转换成字符串类型str 20 Stringstr Integera newInteger 20 Str a toString DavidFu 字符串数据类型的转换 将字符串类型的数据转换成基本数据类型 这可以通过基本数据类型的封装类 参见前面章节的关于封装类的说明 中的成员方法来实现字符串向基本数据类型的转换 将字符串 20 转换成整型20Stringstr 20 intplusA Integer parseInt str DavidFu 字符串中字符的操作 计算字符串的长度publicintlength 返回字符串对象中第 index 1 个字符publiccharcharAt intindex 返回参数ch指定的字符所在的最小下标索引值publicintindexOf intch 返回由参数ch指定的字符在当前字符串序列中的最大下标索引值 publicintlastIndexOf intch DavidFu 字符串的拼接 1 使用String的成员方法publicStringconcat Stringstr 该方法首先创建一个新的字符串对象序列 将参数str字符串拼接到调用该方法的字符串对象的字符串序列后面 在此 str字符串不允许为null 2 使用 运算符Strings java 1234 S字符串的值为 java1234 DavidFu 字符串的拼接 Strings 5 5 hello S 10hello首先将 前面的整数10转换成字符串 10 然后将 hello 字符串拼接到 10 的后面 组成新的字符串 10hello Strings hello 5 5S hello55首先将加号右边的整数5转换成字符串 5 然后拼接到 hello5 的后面 得出最后结果 hello55 DavidFu 字符串中字符替换和转换 字符串中字符替换publicStringreplace charoldChar charnewChar 字符串大小写转换publicStringtoLowerCase publicStringtoUpperCase 截取字符子串publicStringsubstring intbeginIndex PublicStringsubstring intbeginIndex intendIndex DavidFu 字符串之间的比较 比较字符串的四个成员方法publicintcompareTo StringotherString publicintcompareToIgnoreCase Stringstr publicBooleanequals Objectobj publicBooleanequalsIgnoreCase Objectobj DavidFu 字符串之间的比较 与equals 方法进行字符串比较时的主要区别如下 运算符进行字符串比较时 主要比较 两边的字符串对象的引用值 即字符串所在内存的地址 不管字符串内容是否相等 只要指向两个字符串对象的引用值相等 运算符进行比较的结果就是true equals 方法进行字符串比较时 比较的是字符串是否相等 而不管字符串对应的引用值是否相等 因此 equals 方法是真正适合进行字符串比较的方法 DavidFu 字符串之间的比较 计算b1 b2 b3 b4的值Strings3 hello Strings4 hello Strings5 newString Hello booleanb1 s3 s4 booleanb2 s4 s5 booleanb3 s3 equals s4 booleanb4 s4 equals s5 DavidFu 本课程纲要 变量字符串StringBuffer String字符串操作 常量字符串String 字符串 StringBuffer字符串修改操作 DavidFu 变量字符串StringBuffer 变量字符串类java lang StringBuffer类创建的字符串实例对象后 可以修改字符串中的字符序列 StringBuffer类具有一个缓冲区机制 即字符串的长度也是可变的这种缓冲机制可以很好的自动管理字符串的内存空间 提高了内存的利用率StringBuffer类具有以下几个重载构造方法 PublicStringBuffer PublicStringBuffer intcapacity PublicStringBuffer Stringstr DavidFu 变量字符串StringBuffer StringBuffer类中采用两个成员方法进行容量设置publicintlength 该方法返回字符串缓冲区长度 publicintcapacity 该方法返回字符串缓冲区的容量 确保最小缓冲容量的成员方法publicvoidensureCapacity intminCapacity 将字符串缓冲区的容量减少到等于字符串缓冲区的长度publicvoidtrimToSize DavidFu 变量字符串StringBuffer StringBuffer类也同样具有与String类相类似的以上成员方法PublicvoidsetLength intnewLength PubliccharcharAt intindex PublicvoidsetCharAt intindex charch PublicvoidindexOf Stringstr PublicvoidindexOf Stringstr intfromIndex PublicintlastIndexOf Stringstr PublicintlastIndexOf Stringstr intfromIndex DavidFu 本课程纲要 变量字符串StringBuffer String字符串操作 常量字符串String 字符串 StringBuffer字符串修改操作 DavidFu StringBuffer字符串操作 1 字符串增加操作appendStringBufferstb newStringBuffer javaprogram stb append 2 字符串插入操作insertStringBufferstb newStringBuffer javaprogram stb insert 0 test DavidFu StringBuffer字符串操作 3 删除字符串操作publicStringBufferdelete intstart intend StringBuffersb newStringBuffer javaprogram Sb delete 1 5 4 删除字符串中的某个字符publicStringBufferdeleteCharAt intindex DavidFu StringBuffer字符串操作 5 替换字符串操作publicStringBufferreplace intstart intend Stringstr 6 字符串反转操作publicStringBufferreverse 通过例题4 4TestStringBuffer 说明StringBuffer成员方法的用法 第四章结束
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!