知识点讲解:光盘:视频\PPT讲解(知识点)\第3章\字符串.mp4
字符串(String)是由0个或多个字符组成的有限序列,是编程语言中表示文本的数据类型。通常以串的整体作为操作对象,例如在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。假设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
在Java程序中,使用关键字new来创建String实例,具体格式如下所示。
String a=new String();
上面的这段代码创建了一个名为String的类,并把它赋给变量,但它此时是一个空的字符串,接下来就为这个字符串赋值,赋值代码如下所示。
a="I am a person Chongqing"
在Java程序中,我们将上述两句代码合并,就可以产生一种简单的字符串表示。
String s=new String("I am a person Chongqing");
除了上面的表示方法,还有如下一种表示字符串的形式。
String s=("I am a person Chongqing");
实例015 初始化一个字符串
源码路径 \daima\3\Stringone.java 视频路径 \视频\实例\第3章\015
实例文件Stringone.java的主要代码如下所示。
public class Stringone { public static void main(String[] args){ String str = "上邪"; System.out.println("OK"); String cde = "别人笑我太疯癫"; System.out.println(str + cde); } }
范例029:格式化一个字符串 源码路径:光盘\演练范例\029\ 视频路径:光盘\演练范例\029\ 范例030:扩展赋值运算符的功能 源码路径:光盘\演练范例\030\ 视频路径:光盘\演练范例\030\
执行后的效果如图3-17所示。
图3-17 执行效果
注意: 字符串并不是原始的数据类型,它应是复杂的数据的类型,对它进行初始化的方法不只一种,但也没有规定谁是最优秀的,用户可以根据自己的习惯使用。
在Java程序中可以使用类String来操作字符串,在此类中有许多方法可以供我们程序员使用。
1.索引
在Java程序中,通过索引方法可以返回String指定索引的位置,用户需要注意的是,它的数字从零开始,其使用格式如下所示。
public char charAt(int index)
2.追加字符串
追加字符串是指在字符串的末尾再添加字符串,追加字符串是一个比较常用的方法,具体语法格式如下所示。
Public String concat(String S)
实例016 使用索引方法
源码路径 \daima\3\suoyin.java 视频路径 \视频\实例\第3章\016
实例文件suoyin.java的主要代码如下所示。
public class suoyin { public static void main(String args[]) { String x="dongjiemeili"; System.out.println(x.charAt(5)); } }
范例031:使用追加方法 源码路径:光盘\演练范例\031\ 视频路径:光盘\演练范例\031\ 范例032:货币金额的大写形式 源码路径:光盘\演练范例\032\ 视频路径:光盘\演练范例\032\
执行后的效果如图3-18所示。
图3-18 执行效果
在上面的实例代码中,有一个在字符串变量的“x”,然后给它一个值是“dongjiemeili”的字符串,通过倒数第3行取这个字符串的脚码为“5”的字符,因为下标是从“0”开始。初学者可能会理解为字母“j”,可真正的结果并不是,下标为“5”,实际上是第6个字母。
3.比较字符串
比较字符串是将两个字符串进行比较,看是否相同,如果相同返回一个值true,如果不相同则返回一个值false,其格式如下。
public Boolean equalsIgnoreCase(String s)
4.取字符串长度
在String中有一个方法可以获取字符串的长度,其语法格式如下所示。
public int length()
实例017 使用比较字符串方法
源码路径 \daima\3\bijiao.java 视频路径 \视频\实例\第3章\017
实例文件bijiao.java的主要代码如下所示。
public class bijiao { public static void main(String args[]) { String x="student"; String xx="STUDENT"; String y="student"; String z="T"; System.out.println(x.equalsIgnoreCase(xx)); System.out.println(x.equalsIgnoreCase(y)); System.out.println(x.equalsIgnoreCase(z)); } }
范例033:使用求字符串长度方法 源码路径:光盘\演练范例\033\ 视频路径:光盘\演练范例\033\ 范例034:String类格式化当前日期 源码路径:光盘\演练范例\034\ 视频路径:光盘\演练范例\034\
执行后的效果如图3-19所示。
图3-19 执行效果
5.替换字符串
替换是两个动作,第一个是查找,第二个是替换。在Java中实现替换字符串的方法十分简单,只需要使用replace()方法即可实现。使用此方法的语法格式如下所示。
public String replace(char old, char new)
6.字符串的截取
在有的时候,经常需要从长的字符串中截取一段字符串,此功能可以通过substring()方法实现,此方法有两种使用格式。
第一种格式如下:
public String substring(int begin)
第二种格式如下:
public String substring(int begin, int end)
实例018 使用替换字符串方法
源码路径 \daima\3\Tihuan.java 视频路径 \视频\实例\第3章\018
实例文件Tihuan.java的主要代码如下所示。
public class Tihuan { public static void main(String args[]) { String x="我想我要走了"; String y=x.replace('走','去'); System.out.println(y); } }
范例035:使用截取字符串方法 源码路径:光盘\演练范例\035\ 视频路径:光盘\演练范例\035\ 范例036:字符串的大小写转换 源码路径:光盘\演练范例\036\ 视频路径:光盘\演练范例\036\
执行后的效果如图3-20所示。
图3-20 执行效果
7.字符串大小写互转
在许多时候需要对字符串的字母进行转换,在String类里,用户可以使用专用方法进行互换。将大写字母转换成小写字母的方法的语法格式如下所示。
public String toLowerCase()
将小写转大写的方法的语法格式如下所示。
Public String toUpperCase()
8.消除字符串中的空格字符
在字符串中可能有空白字符,有时在一些特定的环境中并不需要这样的空白,此时我们可以使用trim()方法去除掉空白,此方法的语法格式如下所示。
pbulic String trim()
实例019 将大写字母转换成小写字母
源码路径 \daima\3\Daxiao1.java 视频路径 \视频\实例\第3章\019
实例文件Daxiao1.java的主要代码如下所示。
public class Daxiao1 { public static void main(String args[]) { String x="I LOVE YoU!!"; //字母大小写转换 String y=x.toLowerCase(); System.out.println(x); System.out.println(y); } }
范例037:将小写字母转换成大写字母 源码路径:光盘\演练范例\037\ 视频路径:光盘\演练范例\037\ 范例038:使用trim()方法 源码路径:光盘\演练范例\038\ 视频路径:光盘\演练范例\038\
执行后的效果如图3-21所示。
图3-21 执行效果
类StringBuffer是Java中另外一种重要的操作字符串的类,当需要对字符串进行大量的修改时,使用StringBuffer类是最佳的选择。接下来将详细讲解类StringBuffer中的常用方法。
1.追加字符
在StringBuffer中实现追加字符功能的方法的语法格式如下所示。
public synchronized StringBuffer append(boolean b)
2.插入字符
前面的追加字符方法总是在末尾添加内容,倘若需要在字符中添加内容,就需要使用方法insert(),其语法格式如下所示。
public synchronized StringBuffer insert(int offset, String s)
上述格式的含义是:将第2个参数的内容添加到第一个参数指定的位置,换句话说,第一个参数表示要插入的起始位置,第2个参数是需要插入的内容,它可以是包括String的任何数据类型。
3.颠倒字符
颠倒字符方法能够将字符颠倒,例如“我是谁”,颠倒过来就变成“谁是我”,在许多的时候也很需要。颠倒字符方法reverse()的语法格式如下所示。
public synchronized StringBuffer reverse()
实例020 使用追加字符函数
源码路径 \daima\3\Zhui1.java 视频路径 \视频\实例\第3章\020
实例文件Zhui1.java的主要代码如下所示。
public class Zhui1 { public static void main(String args[]){ StringBuffer x1 = new StringBuffer("金山WPS办公"); x1.append(",中国人的选择"); System.out.println(x1); StringBuffer x2 = new StringBuffer("WPS"); x2.append(2009); System.out.println(x2); } }
范例039:替换指定的文本字符 源码路径:光盘\演练范例\039\ 视频路径:光盘\演练范例\039\ 范例040:使用颠倒字符方法reverse() 源码路径:光盘\演练范例\040\ 视频路径:光盘\演练范例\040\
执行后的效果如图3-22所示。
图3-22 执行效果