5.1 类String字符串
5.1.1 直接使用字符串常量创建字符串
示例:
String str= "Hello JAva";
或者
String str;
str = "Hello JAva";
5.1.2 使用new 关键字创建字符串
String的构造方法有多种重载形式,主要如下:
(1) public String( ) 初始化一个新创建的string对象,表示一个空字符序列。
(2)public String(char[ ] value) 分配一个新的字符串,将参数中的字符数组元素全部变为字符串。该字符数组的内容已被复制,后续对字符数组的修改不会影响新创建的字符串,示例:
char a[] ={'H','e','l','l','o'};
String sChar=new String(a);
a[1] ='s';
改变a中元素的值将不会影响sChar的值。
(3) public String(char[ ] value,int offset,int count) offfset参数是子组数第一个字符的索引,count参数指定子数组的长度。
(4) public String(String original) 初始化一个新创建的String对象,使其表示一个与参数相同的字符序列。
5.2 字符串中常用方法
5.3 字符串的基本操作
5.3.1 获取字符串的长度
示例:
String s ="hello world";
System.out.println(s.length()); //输出11
5.3.2 转换字符串的大小写
示例:
String s= "Hello World";
System.out.println(s.toLowerCase()); //输出:hello world
System.out.println(s.toUpperCase()); //输出:HELLO WORLD
5.3.3 去掉字符串的首尾空格
String s1= " Hello World ";
System.out.println(s1.length()); //输出:15
System.out.println(s1.trim().length()); //输出:11
5.3.4 比较字符串的大小
1.使用equals()方法比较字符串
2.使用equalsIgnoreCase( ) 方法比较字符串(忽略大小写)
示例:
String s1= "Hello world";
String s2= "Hello World";
System.out.println(s1.equals(s2)); //输出:fasle
System.out.println(s1.equalsIgnoreCase(s2)); //输出:true
5.3.5 字符串查找
字符串查找分为两种形式:一种是在字符串中获得匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。
1.在字符串中获得匹配字符(串)的索引值
indexOf( )方法,如果能找到,则返回索引值,否则返回-1.该方法主要有4种重载形式:
public int indexOf(int ch);
public int indexOf(int ch,int fromIndex);
public int indexOf(String str);
public int indexOf(String str,int fromIndex);
lastIndexOf( )方法,如果能找到,则返回索引值,否则返回-1.该方法有如下4种重载形式:
public int lastIndexOf(int ch);
public int lastIndexOf(int ch,int fromIndex);
public int lastIndexOf(String str);
public int lastIndexOf(String str,int fromIndex);
2.在字符串中获取指定索引位置的字符
String类中提供了charAt( ) 方法,该方法用于返回字符串中指定索引的字符,定义如下:
public char charAt(int index);
示例:
String s = "Hello world";
char ch =s.charAt(7);
System.out.println(ch); // 输出: o
5.3.6 字符串分割
String类提供的split()方法,可以按指定的分割符对目标字符串进行分割,分割后的内容存放在字符串数组中,该方法主要有如下两种重载形式:
public String[] spilt(String regex, int limit); //限制个数
public String[] spilt(String regex);
5.3.7 字符串的截取
String类提供的substring()方法用于对字符串进行截取,该方法主要有如下两种方式:
public String substring(int beginIndex);
public String substring(int beginIndex,int endIndex);
5.3.8 字符串的替换
1.使用replace()方法
public String replace(char oldChar,char newChar);
//其中oldChar表示目标字符串;newChar表示用于替换的字符串
//示例
String s= "Hello World";
String news =s.replace("World","Java");
System.out.println(news); //输出:Hello Java
2.使用replaceFirst( )方法
public String replaceFirst(String regex,String replacement);
//其中regex表示用来匹配字符串的正则表达式;replacement表示用于替换的字符串
//示例
String s= "Hello World Hello World";
String news =s.replaceFirst("World","Java");
System.out.println(news); //输出:Hello Java Hello World
3.使用replaceAll( )方法
public String replaceAll(String regex,String replacement);
//其中regex表示用来匹配字符串的正则表达式;replacement表示用于替换的字符串
//示例
String s= "Hello World Hello World";
String news =s.replaceAll("World","Java");
System.out.println(news); //输出:Hello Java Hello Java
5.3.9 字符串的连接
字符串的连接方式有两种:1,使用"+"运算符对多个字符串进行连接;2,使用String类中的concat()方法
使用String类中的concat()方法
public String concat(String str);
//其中str表示连接到字符串后的字符串
注意:String类的concat()方法一次只能连接两个字符串,如果需要连接多个字符串,须调用多次concat( )方法。
5.4 类StringBuffer字符串
类StringBuffer的对象是一种可以改变(如增长,修改)的字符串对象。每个String Buffer类的对象,都能够存储指定容量的字符串,如果字符串的长度超过了StringBUffer类的对象的容量,则该对象的容量会自动扩大。
5.4.1 StringBuffer类的构造方法
StringBuffer类提供了三种构造方法:
public StringBuffer(); //构造一个空的字符串缓冲区,并初始化为16个字符的容量
public StringBuffer(int length); //创建一个空的字符串缓冲区,并初始化为指定长度length的容量
public StringBuffer(String str); //创建一个字符串缓冲区,并初始化为指定的字符串内容str,字符串缓冲区的初始容量为16加上字符串str的长度
5.4.2 StringBuffer类的常用方法