字符串常用的操作包括:对字符串的连接,字符串的比较,字符串的截取,字符串的查找,字符串大小写转换,字符串内容的替换和获取字符串某位置的字符。
1、字符串的连接
字符串的连接是将两个或两个以上的字符换进行拼接。String类中提供了字符串连接的cancat()方法。其格式如下:
string1.concat(string2);
示例如下:

public class Test{
 public static void main(String[] args){
 String string1=“Hello”;
 String string2=“World”;
 String string3=string1.concat(string2);//使用concat连接两个字符串
 System.out.println(string1);
 System.out.println(string2);
 System.out.println(string3);
 }
 }


运行结果如下:
Hello
World
Hello World

上述方法用了concat方法进行了字符串之间的连接,也可以使用操作符“+”进行连接,代码如下:
 public class Test{
 public static void main(String[] args){
 String string1=“Hello”;
 String string2=“World”;
 String string3=string1+string2;//使用+连接两个字符串
 System.out.println(string3);
 }
 }


运行结果如下:
Hello World
2、字符串的比较
在String类中定义的字符串的比较方法有三种:
compareTo(),equals()和equalsIgnoreCase()。以下分别进行介绍
(1)compareTo()方法
这个比较的是两个字符串在排序时的顺序。其过程比较实际上是两个字符串中相同位置上的字符按Unicode中顺序逐个比较的结果。如果compareTo方法返回一个大于0的整数,则表示被操作字符串排在参数字符串的后面;如果返回小于0的整数,则表示被操作字符串排在参数字符串的前面。
(2)equals()方法
当参数是字符串时,可以用来比较两个字符串的值是否相同。
(3)equalsIgnoreCase()方法
比较的是连个字符串的值是否相同,与equals不同,这种比较是忽略大小写的。
下面我们通过代码给大家进行演示:
public class Test{
public static void main(String[] args){

String a1="hello";
    String a2="HELLO";
    int result=a1.compareTo(a2);
    if(result>0){
           System.out.println("compareTo()比较,a1排在a2的后面");
           }
           else
           {
           System.out.println("compareTo()比较,a1排在a2的前面");
   }
           boolean flag=a1.equals(a2);
           if(flag==false){
                  System.out.println("equals()方法比较,a1与a2不相等");
                  }
                  else{
                  System.out.println("equals()方法比较,a1与a2相等");
                  }
                  boolean fav=a1.equalsIgnoreCase(a2);
                  if(fav==false){
                  System.out.println("equalsIgnoreCase()方法比较,a1和a2不相等");
                  else{
                  System.out.println("equalsIgnoreCase()方法比较,a1和a2相等");
                  }

}
}
运行结果如下:
compareTo()方法比较:a1排在a2后面
equals()方法比较:a1与a2不相等
equalsIngoreCase()方法比较:a1与a2相等
注意:当==两边是基本数据类型如int,double,boolean时是比较值是否相同;当等号两边是对象时比较的是两个对象是否是同一个对象(判断标准是看其内存地址是否相同)。
3、字符串截取
String类中提供substring()方法来实现截取功能,使用格式如下:
String substring(int beginIndex);

String substring(int beginIndex,int endIndex);
字符串第一个字符的位置为0.第一种是只有开始位置,它截取的是从这个位置开始一直到字符串的结尾部分。第二种是开始和结尾位置都有,那么只截取指定位置开始和结尾的部分。例如:

public class Test{
 public static void main(String[] args){
 String string1=“i love java”;
 String subs1=string1.substring(2);
 String subs2=string1.substring(2,6);
 System.out.println(“从开始位置2截取”);
 System.out.println(subs1);
 System.out.println(“从位置2-6截取”);
 System.out.println(subs2);
 }
 }


运行结果:
从开始位置2截取
love java
从位置2-6截取
love
注意:空格也要算字符长度或字节长度
4、字符串查找
字符串的查找指在一个字符串中查找另一个字符串,String中提供了indexOf方法实现查找功能。使用格式如下:
str,indexOf(string substr)

str.indexOf(string substr,formIndex)
第一种是从指定位置字符串开始查找,第二种是从指定字符串并指定开始位置查找。例如:

public class Test{
 public static void main(String[] args){
 String string1=“i love java”;
 String string2=“love”;
 int serindex1=string1.indexOf(string2); //从开始位置查找"love"字符串
 int serindex2=string.indexOf(string2,2); //从索引2位置开始查找love


字符串

if(serindex1>=0)
 System.out.println(“love 在 i love java 中第“+serindex1+”个位置出现”);
 else
 System.out.println(“love 在i love java 中未出现”);
 if(serindex2>=0)
 System.out.println(“从索引2位置开始查找,love 在 i love java 中第“+serindex1+”个位置出现”);
 else
 System.out.println(“从索引2 位置开始查找,love 在i love java 中未出现”);
 }
 }


运行结果如下:
love 在 i love java 中第2个位置出现
从索引2位置开始查找,love 在 i love java 中第2个位置出现