1. 创建字符串
String类即字符串类型,但它不是Java的基本数据类型。
(1)String
一个String对象可以表示一个空的字符序列。
(2)String(char a[])
用一个字符数组a创建字符串的对象。
char a[]={'g','o','o','d'};
String s=new String(a);
等价于:
String s=new String("good");
举个例子,代码如下:
package com.practice.string.test;
public class ReplaceString {
public static void main(String[] args) {
//创建字符串
char[] a= {'u','n','i','v','e','r','s','i','t','y'};
String str=new String(a);
System.out.println(str);
}
}
运行结果如下:
(3)String(char a[],int offset,int length)
提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。
char[] a={'s','t','a','t','e'};
String s=new String(a,1,3);
等价于:
String s=new String("tat");
2. 字符串的操作
(1)字符串的连接
两个连接的字符串使用“+”相连,“+”是字符串的连接符。连接之后生成一个新的字符串。
主要代码如下:
String s1=new String("hello");
String s2=new String("world");
String s=s1+" "+s2;
输出的结果是:hello world
注意:只要“+”运算符的一个操作类型是字符串,编译器就会将 另外的操作类型转换成字符串。
(2)获取字符串的信息
① 获取字符串的长度:
格式:指定的字符串对象.length();
②获取指定的字符索引位置:
indexOf()方法,搜索的字符首次出现位置的索引
lastIndexOf()方法,搜索的字符最后出现位置的索引
格式:任意字符串对象.indexOf(要搜索的字符);
任意字符串对象.lastIndexOf(要搜索的字符);
注意:如果lastIndexOf()方法中的参数是空字符串“ ”,则返回的结果与调用字符串的length()方法的返回结果相同。
(3)获取指定位置的索引的字符
格式:任意字符串.charAt(整型值,用于指定要返回字符的下标);
3. 去掉字符串中的空格
(1)去掉字符串中的前导、尾部空格:trim()方法
格式:任意的字符串对象.trim();
(2)去掉字符串中的所有空格:StringTokenizer()方法
格式:
StringTokenizer(String 要去除空格的字符串,String 字符串名)
(3)替换字符串中的所有空格达到去除字符串的目的:replaceAll()方法
格式:字符串名.replaceAll(String 字符串中想要被替换的字符串,String 新字符串);
代码如下:
package com.practice.string.test;
import java.util.StringTokenizer;
public class ReplaceString {
public static void main(String[] args) {
//创建字符串
char[] a= {'u','n','i','v','e','r','s','i','t','y'};
String str=new String(a);
System.out.println(str+"\n");
/*
* String(char a[],int offset,int length)
* 提取字符数组a中的一部分创建一个字符串对象
*/
String b=new String(a,2,4);
System.out.println(b+"\n");
//字符串的连接
String c=str+" "+b;
System.out.println(c+"\n");
//获取字符串的度
System.out.println(c.length()+"\n");
/*
* 1.获取指定的字符索引位置
* 2.获取指定位置的索引的字符
* 3.去掉字符串中的空格
*/
//字符首次出现位置的索引
System.out.println(c.indexOf('i'));
//字符最后出现位置的索引
System.out.println(c.lastIndexOf('i'));
//去掉字符串中的前导、尾部空格:trim()方法
String d=new String(" hello world ");
System.out.println(d.trim()+"\n");
//去掉字符串的所有空格
System.out.println("原字符串是:"+d);
StringTokenizer s=new StringTokenizer(d," " );
System.out.println("去掉空格之后的字符串是:"+s+"\n");
//替换字符串中的所有空格达到去除字符串
System.out.println("原字符串是:"+d);
System.out.println("空格全替换之后的字符串是:"+d.replaceAll(" ", "123"));
}
}
运行结果如下:
4.字符串的替换
(1)replace()方法:替换所有于指定位置相符的字符串
格式:字符串名.(想要被替换的字符串,新字符串)
(2)replaceFirst():替换第一个出现的指定字符串
格式:字符串名.(想要被替换的字符串,新字符串)
举例如下:
package com.practice.string.test;
public class Replace {
public static void main(String[] args) {
String s="lili rui lili ni hao ";
System.out.println("原来的字符串是:"+s);
System.out.println("替换之后的字符串:"+s.replace("lili", "123"));
System.out.println("替换之后的字符串是:"+s.replaceFirst("lili", "zzz"));
}
}
运行结果如下: