Java字符、字符串、数组.ppt

上传人:max****ui 文档编号:6360153 上传时间:2020-02-23 格式:PPT 页数:33 大小:248.55KB
返回 下载 相关 举报
Java字符、字符串、数组.ppt_第1页
第1页 / 共33页
Java字符、字符串、数组.ppt_第2页
第2页 / 共33页
Java字符、字符串、数组.ppt_第3页
第3页 / 共33页
点击查看更多>>
资源描述
学习导读字符 字符串 数组都是使用Java语言编制程序要经常使用的数据结构 因此 熟练掌握这些数据结构是进一步学习Java程序设计的必要阶段 通过本章的学习 应该能够熟练掌握字符 字符串 数组的各种基本操作 第6章字符 字符串 数组 教学重点与难点 字符与字符串的区别字符串常量与String类字符串变量与StringBuffer类数组与数组类Arrays 6 1字符 字符是指用单引号括起来单个字符 如 a b A 等 这里的字符不是指占1个字节的ASCII字符 而是指占2个字节的Unicode字符 因为Unicode被设计用来处理现在世界上所有书面语言中的字符 所以一个汉字也是被当作一个字符来处理的 对于单个字符 除了有char这个原始类型以外 Java平台中的java lang包还专门提供了一个Character类来进行储存和操作 6 1 1Character类的构造函数Character类只能用于存储和操作单一的字符数值 Character类的对象包含了单一字符数值 以下是Character类提供的构造函数 publicCharacter char 参数必须为一个char类型数据 它创建了一个Character对象 该对象包含了由参数提供的数值 一旦Character对象被创建 它包含的数值就不能改变 下面的语句将创建一个Character对象a 该对象包含字符数据 b Charactera newCharacter b 6 1 2Character类提供的常用方法1 publicintcompareTo Character compareTo Character 是一个实例方法 参数必须为一个Character对象 而不能是char类型数据 该方法比较两个Character对象包含的数值 返回一个整数表明在当前对象中的数值是否大于 等于或者小于参数给定的数值 2 publicbooleanequals Objectobj equals 是一个实例方法 用于比较两个对象 用于Character类对象时 该方法比较当前对象容纳的数值和参数对象容纳的数值 在两个对象容纳的数值相等的时候返回true 否则返回false 3 publicStringtoString 所有的类从对象类继承了toString方法 toString是一个实例方法 它将对象转换为字符串 该方法用于Character类对象时 结果的字符串在长度为1 并且它包含了有这个Character对象容纳的数值 4 publiccharcharValue charValue是一个实例方法 它返回Character对象的字符 5 publicstaticbooleanisUpperCase char isUpperCase char 是一个类方法 该方法用来判断字符参数值是否为大写 当字符参数值是大写时 返回值为true 否则返回false 例6 1 Character类提供的常用方法 6 2字符串 字符串指的是字符的序列 有两种类型的字符串 一种是创建以后不需要改变的 称为字符串常量 在Java中 String类用于存储和处理字符串常量 另外一种字符串是创建以后 需要对其进行改变的 称为字符串变量 在Java中 StringBuffer类用于存储和操作字符串变量 6 2 1字符串常量与String类在Java中 没有内置的字符串类型 字符串常量是作为String类的对象存在的 1 创建String类对象String类的对象表示的是字符串常量 一个字符串常量创建以后就不能够被修改了 所以在创建String类对象时 通常需要向构造函数传递参数来指定创建的字符串的内容 以下是常用的String类构造函数 1 publicString 该构造函数用于创建一个空的字符串常量 2 publicString Stringvalue 该构造函数用于根据一个已经存在的字符串常量来创建一个新的字符串常量 该字符串的内容和已经存在的字符串常量一致 3 publicString charvalue 该构造函数用于根据一个已经存在的字符数组来创建一个新的字符串常量 数组将在本章后面的内容中介绍 4 publicString StringBufferbuffer 该构造函数用于根据一个已经存在的StringBuffer对象来创建一个新的字符串常量 2 String类对象的常用操作及方法在Java中 String类包含有50多个方法来实现字符串的各种操作 以下介绍一些我们需要经常使用的方法 1 字符串的连接publicStringconcat Stringstr 该方法的参数为一个String类对象 作用是将参数中的字符串str连接到原来字符串的后面 2 求字符串的长度publicintlength 返回字串的长度 这里的长度指的是字符串中Unicode字符的数目 3 求字符串中某一位置的字符publiccharcharAt intindex 该方法在一个特定的位置索引一个字符串 以得到字符串中指定位置的字符 值得注意的是 在字符串中第一个字符的索引是0 第二个字符的索引是1 依次类推 最后一个字符的索引是length 1 例6 2 求字符串的长度及每一个位置上的字符 4 字符串的比较比较字符串可以利用String类提供的下列方法 1 publicintcompareTo StringanotherString 该方法比较两个字符串 和Character类提供的compareTo方法相似 Character类提供的compareTo方法比较的是两个字符类数据 而这里比较的是字符串数据 其比较过程实际上是两个字符串中相同位置上的字符按Unicode中排列顺序逐个比较的结果 如果在整个比较过程中 没有发现任何不同的地方 则表明两个字符串是完全相等的 compareTo方法返回0 如果在比较过程中 发现了不同的地方 则比较过程会停下来 这时一定是两个字符串在某个位置上不相同 如果当前字符串在这个位置上的字符大于参数中的这个位置上的字符 compareTo方法返回一个大于0的整数 否则返回一个小于0的整数 2 publicbooleanequals ObjectanObject 该方法比较两个字符串 和Character类提供的equals方法相似 因为它们都是重载Object类的方法 该方法比较当前字符串和参数字符串 在两个字符串相等的时候返回true 否则返回false 3 publicbooleanequalsIgnoreCase StringanotherString 该方法和equals方法相似 不同的地方在于 equalsIgnoreCase方法将忽略字母大小写的区别 5 从字符串中提取子串利用String类提供的substring方法可以从一个大的字符串中提取一个子串 该方法有两种常用的形式 1 publicStringsubstring intbeginIndex 该方法从beginIndex位置起 从当前字符串中取出剩余的字符作为一个新的字符串返回 2 publicStringsubstring intbeginIndex intendIndex 该方法从当前字符串中取出一个子串 该子串从beginIndex位置起至endIndex 1为结束 子串返的长度为endIndex beginIndex 6 判断字符串的前缀和后缀判断字符串的前缀是否为指定的字符串利用String类提供的下列方法 1 publicbooleanstartsWith Stringprefix 该方法用于判断当前字符串的前缀是否和参数中指定的字符串prefix一致 如果是 返回true 否则返回false 2 publicbooleanstartsWith Stringprefix inttoffset 该方法用于判断当前字符串从toffset位置开始的子串的前缀是否和参数中指定的字符串prefix一致 如果是 返回true 否则返回false 判断字符串的后缀是否为指定的字符串利用String类提供的方法 publicbooleanendsWith Stringsuffix 该方法用于判断当前字符串的后缀是否和参数中指定的字符串suffix一致 如果是 返回true 否则返回false 7 字符串中单个字符的查找字符串中单个字符的查找可以利用String类提供的下列方法 1 publicintindexOf intch 该方法用于查找当前字符串中某一个特定字符ch出现的位置 该方法从头向后查找 如果在字符串中找到字符ch 则返回字符ch在字符串中第一次出现的位置 如果在整个字符串中没有找到字符ch 则返回 1 2 publicintindexOf intch intfromIndex 该方法和第一种方法类似 不同的地方在于 该方法从fromIndex位置向后查找 返回的仍然是字符ch在字符串第一次出现的位置 3 publicintlastIndexOf intch 该方法和第一种方法类似 不同的地方在于 该方法从字符串的末尾位置向前查找 返回的仍然是字符ch在字符串第一次出现的位置 4 publicintlastIndexOf intch intfromIndex 该方法和第二种方法类似 不同的地方在于 该方法从fromIndex位置向前查找 返回的仍然是字符ch在字符串第一次出现的位置 8 字符串中子串的查找字符串中子串的查找与字符串中单个字符的查找十分相似 可以利用String类提供的下列方法 1 publicintindexOf Stringstr 2 publicintindexOf Stringstr intfromIndex 3 publicintlastIndexOf Stringstr 4 publicintlastIndexOf Stringstr intfromIndex 9 字符串中字符大小写的转换字符串中字符大小写的转换 可以利用String类提供的下列方法 1 publicStringtoLowerCase 该方法将字符串中所有字符转换成小写 并返回转换后的新串 2 publicStringtoUpperCase 该方法将字符串中所有字符转换成大写 并返回转换后的新串 10 字符串中多余空格的去除publicStringtrim 该方法只是去掉开头和结尾的空格 并返回得到的新字符串 值得注意的是 在原来字符串中间的空格并不去掉 11 字符串中字符的替换1 publicStringreplace charoldChar charnewChar 该方法用字符newChar替换当前字符串中所有的字符oldChar 并返回一个新的字符串 2 publicStringreplaceFirst Stringregex Stringreplacement 该方法用字符串replacement的内容替换当前字符串中遇到的第一个和字符串regex相一致的子串 并将产生的新字符串返回 3 publicStringreplaceAll Stringregex Stringreplacement 该方法用字符串replacement的内容替换当前字符串中遇到的所有和字符串regex相一致的子串 并将产生的新字符串返回 例6 3 String类字符串的常用操作6 2 2字符串变量与StringBuffer类1 创建StringBuffer类对象StringBuffer类对象表示的是字符串变量 每一个StringBuffer类对象都是可以扩充和修改的字符串变量 以下是常用的StringBuffer类构造函数 1 publicStringBuffer 2 publicStringBuffer intlength 3 publicStringBuffer Stringstr 2 StringBuffer类对象的常用方法 1 StringBuffer类对象的扩充StringBuffer类提供两组方法用来扩充StringBuffer对象所包含的字符 分别是 1 publicStringBufferappend Objectobj append方法用于扩充StringBuffer对象所包含的字符 该方法将指定的参数对象转化为字符串后 将其附加在原来的StringBuffer对象之后 并返回新的StringBuffer对象 附加的的参数对象可以是各种数据类型的 如int char String double等 2 publicStringBufferinsert int插入位置 参数对象类型 参数对象名 该方法将指定的参数对象转化为字符串后 将其插入在原来的StringBuffer对象中指定的位置 并返回新的StringBuffer对象 2 StringBuffer类对象的长度与容量一个StringBuffer类对象的长度指的是它包含的字符个数 容量指的是被分配的字符空间的数量 1 publicintlength 该方法返回当前StringBuffer类对象包含的字符个数 2 publicintcapacity 该方法返回当前StringBuffer类对象分配的字符空间的数量 3 StringBuffer类对象的修改publicvoidsetCharAt intindex charch 该方法将当前StringBuffer对象中的index位置的字符替换为指定的字符ch 4 字符串的赋值和加法字符串是在程序中要经常使用的数据类型 在Java编译系统中引入了字符串的赋值和加法操作 例6 4 反转字符串中的字符 6 3数组 数组是一个长度固定的数据结构 它存储多个相同类型的数值 数组直接被Java编程语言所支持 但是无论数组是由原始类型构成 或者带有其它类数据 数组也是一个对象 数组是一个Object类的一个不明显的扩展 所以可以指定一个数组给一个类型定义为Object的变量 6 3 1数组的创建和初始化在Java中 数组可以是任何类型的 原始类型或类类型 也就是说 数组元素可以是原始类型的量 也可以是某一个类的对象 在Java中 一个数组的创建一般需要以下三个步骤 1 数组的声明数组元素类型数组名 数组元素类型 数组名 2 创建数组空间数组名 new数组元素类型 数组长度 创建数组空间的工作可以和声明数组的工作组合在一起 用一条语句来实现 如 inta a newint 20 等价于 inta newint 20 3 初始化数组数组中的各元素是有先后次序的 每个数组元素用数组的名字和它在数组中的位置来表达 在上面创建的数组a中 a 0 表示数组a中的第一个元素 如a 1 表示数组a中的第二个元素 依次类推 数组中的最后一个元素为a 19 初始化数组就是要使数组中的各个元素有确定的数值 如果数组元素的类型是基本数据类型 由于基本数据类型都有缺省值 数组元素都自动初始化为缺省值 这个步骤可以省略 比如上面的数组中的每一个元素值都是0 对于以某个类的对象为数组元素的数组 初始化每个数组元素是必须的 对于数组有几个需要注意的地方 1 所有的数组都有一个属性length 这个属性存储了数组元素的个数 2 Java编程环境会自动检查数组下标是否越界 例6 5 String类数组的操作 6 3 2数组的数组Java编程语言中 因为一个数组可被声明为任何类型 所以可以创建数组的数组 数组的数组的数组 等等 例6 6 数组的数组1 例6 7 数组的数组26 3 3复制数组System arraycopy from fromIndex to toIndex count 该方法从数组from的索引fromIndex位置起 复制count个元素到数组to的从索引toIndex位置开始的地方 这里要注意 目标数组必须在调用arraycopy之间分配内存 而且这个内存空间必须足够容纳被复制的数据 例6 8 数组的复制 6 3 4数组类Arrays在 java util 包中 专门有一个数组类Arrays 该类提供了一些方法用于排序 查找等操作 在编制程序中可以直接使用这些方法 1 排序在编制程序中可以直接使用类Arrays提供的某个sort方法 来对数组排序 sort方法常见的使用形式如下 publicstaticvoidsort Xxxa 该方法用改进的快速排序方法对指定的数组a进行排序 其中数组a是类型为char byte short int long float double或者boolean的一个数组 sort方法还有另外一种常见的形式 publicstaticvoidsort Xxxa intfromIndex inttoIndex 这种形式只对数组a中指定范围内的元素 从a fromIndex 到a toIndex 之间的元素 其中不包含a toIndex 排序 例6 9 数组的排序 2 查找publicstaticintbinarySearch Xxxa Xxxv 该方法用折半查找算法在指定的数组a查找值为v的元素 其中数组a是类型为char byte short int long float double或者boolean的一个数组 v是与数组a的元素类型相同的值 该方法如果在数组a查找到值为v的元素 则返回该元素的下标 如果没有找到匹配的元素 则返回一个负值r 位置 r 1 为保持数组有序时值为v的元素应该插入的位置 3 填充publicstaticvoidfill Xxxa Xxxv 该方法用指定的指定的值v来填充数组a 执行该方法的结果是 数组a中所有元素的值都变成v 其中数组a是类型为char byte short int long float double或者boolean的一个数组 6 3 5命令行参数每一个JavaApplication程序都有一个含有Stringargs 参数的main方法 该方法的说明如下 publicstaticvoidmain Stringargs 这个参数Stringargs 表示main方法接收了一个字符串数组 该字符串数组就是从命令行上传递过来的参数 由于JavaApplication程序可以用命令行来启动 所以命令行参数就成为向JavaApplication程序传递参数数据的常用而且有效的手段 例6 10 命令行参数 本章小结 字符是指用单引号括起来单个字符 Java中的字符是指占2个字节的Unicode字符 字符串指的是字符的序列 用双引号括起来的字符的序列都是字符串 有两种类型的字符串 字符串常量和字符串变量 String类用于存储和处理字符串常量 StringBuffer类用于存储和操作字符串变量 数组是一个长度固定的数据结构 它存储多个相同类型的数值 数组元素可以是可以是原始类型的量 也可以是某一个类的对象 所有的数组都有一个属性length 这个属性存储了数组元素的个数 Java编程环境会自动检查数组下标是否越界 在编制程序时一定要保证数组的下标不越界 在JDK中专门提供了一个数组类Arrays 该类提供了用于排序 查找等操作的方法 在编制程序中可以直接使用这些方法 命令行参数是向JavaApplication程序传递参数数据的常用而且有效的手段
展开阅读全文
相关资源
相关搜索

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


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

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


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