购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.5 字符串

知识点讲解:光盘:视频\PPT讲解(知识点)\第3章\字符串.mp4

字符串(String)是由0个或多个字符组成的有限序列,是编程语言中表示文本的数据类型。通常以串的整体作为操作对象,例如在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。假设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

3.5.1 字符串的初始化

在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 执行效果

注意: 字符串并不是原始的数据类型,它应是复杂的数据的类型,对它进行初始化的方法不只一种,但也没有规定谁是最优秀的,用户可以根据自己的习惯使用。

3.5.2 String类

在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 执行效果

3.5.3 StringBuffer类

类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 执行效果 M8HoWRLzx5su8N0c7XeE/Z7UYRh/kHFkCQiPGsiSjRJ1ZVg7Tg1tDcqLRzDs8+bK

点击中间区域
呼出菜单
上一章
目录
下一章
×