一.字符串类
在程序开发中经常会用到字符串,所谓字符串就是指一连串的字符,它是由许多单个字符连接而成的,如多个英文字母所组成的一个英文单词。
字符串中包含:
1.任意字符
2.字符必须在双引号中
3.Java中定义了三个封装字符串的类,分别是String、StringBuffer和StringBuilder,它们位于java.lang包中,并提供了一系列操作字符串的方法,这些方法不需要导包就可以直接使用
(一)String类的初始化
1.具体代码如下: String str1 = "abc";(这是一种简化语法)
用于创建并初始化String对象,其中“abc”表示一个字符串常量
2.使用String类的构造方法初始化字符串对象,String类的常见构造方法如下表。
案例:
public static void main(String[] args) { //创建一个空的字符串 String str1 = new String(); //创建一个内容为abcd的字符串 String str2 = new String("abcd"); //创建一个内容为字符数组的字符串 char[] charArray = new char[]{'D','E','F'}; String str3 = new String(charArray); //创建一个内容为字节数组的字符串 byte[] arr = {97,98,99}; String str4 = new String(arr); System.out.println("a"+str1+"b"); System.out.println(str2); System.out.println(str3); System.out.println(str4); }
(String类的常见操作)
String类常用方法如下表:
常见操作
1.字符串获取功能:
在Java程序中,需要对字符串进行一些获取的操作,如获得字符串长度、获得指定位置的字符等
例子:
public class example02 {
public static void main(String[] args) {
String s = "abacdedcba";//定义字符串s
//获取字符串长度,即字符个数
System.out.println("字符串的长度为:"+ s.length());
System.out.println("字符串中第一个字符:"+ s.charAt(0));
System.out.println("字符c第一次出现的位置:"+s.indexOf('c'));
System.out.println("字符c最后一次出现的位置:"+s.lastIndexOf('c'));
System.out.println("字符串ab第一次出现的位置:"+s.indexOf("ab"));
System.out.println("字符串ab最后一次出现的位置:"+s.lastIndexOf("ab"));
}
}
2.字符串的转换操作:
程序开发中,经常需要对字符串进行转换操作。例如,将字符串转换成数组的形式,将字符串中的字符进行大小写转换等。
例子:
public class example03 {
public static void main(String[] args) {
String str = "abcd";
System.out.println("将字符串转为字符数组后的结果:");
char[] charArray = str.toCharArray();//字符串转换为字符数组
for (int i = 0; i < charArray.length; i++) {
if (i != charArray.length - 1) {
// 如果不是数组的最后一个元素,在元素后面加逗号
System.out.print(charArray[i] + ",");
} else {
// 数组的最后一个元素后面不加逗号
System.out.println(charArray[i]);
}
}
System.out.println("将int值转为String类型之后的结果:"+String.valueOf(12));
System.out.println("将字符串转换成大写之后的结果:"+str.toUpperCase());
System.out.println("将字符串转换成小写之后的结果:"+str.toLowerCase());
}
}
3.字符串的替换和去除空格操作:
程序开发中,用户输入数据时经常会有一些错误和空格,这时可以使用String类的replace()和trim()方法,进行字符串的替换和去除空格操作。
例子:
public class examble04 { public static void main(String[] args) { String s = "itcast"; //字符串替换操作 System.out.println("将it替换成cn.it的结果:" + s.replace("it","cn.it")); //字符串去除空格操作 String s1 = " i t c a s t "; System.out.println("去除字符串两端空格后的结果:" + s1.trim()); System.out.println("去除字符串中所有空格后的结果:" + s1.replace(" ", "")); } }
4.字符串的判断操作:
操作字符串时,经常需要对字符串进行一些判断,如判断字符串是否以指定的字符串开始、结束,是否包含指定的字符串,字符串是否为空等
例子:
public class examble05 { public static void main(String[] args) { String s1 = "String"; // 声明一个字符串 String s2 = "Str"; System.out.println("判断是否以字符串Str开头:" + s1.startsWith("Str")); System.out.println("判断是否以字符串ng结尾:" + s1.endsWith("ng")); System.out.println("判断是否包含字符串tri:" + s1.contains("tri")); System.out.println("判断字符串是否为空:" + s1.isEmpty()); System.out.println("判断两个字符串是否相等" + s1.equals(s2)); } }
5.字符串的截取和分割:
在String类中,substring()方法用于截取字符串的一部分,split()方法用于将字符串按照某个字符进行分割。
例子:
public class examble06 { public static void main(String[] args) { String str = "石家庄-武汉-哈尔滨"; //下面是字符串截取操作 System.out.println("从第5个字符截取到末尾的结果:"+str.substring(4)); System.out.println("从第5个字符截取到第6个字符的结果:"+str.substring(4,6)); // 下面是字符串分割操作 System.out.print("分割后的字符串数组中的元素依次为:"); String[] strArray = str.split("-"); for (int i = 0;i < strArray.length;i++){ if (i != strArray.length - 1) // 如果不是数组的最后一个元素,在元素后面加逗号 System.out.print(strArray[i]+","); else { // 数组的最后一个元素后面不加逗号 System.out.println(strArray[i]); } } } }
注意:
String字符串在获取某个字符时,会用到字符的索引,当访问字符串中的字符时,如果字符的索引不存在,则会发生StringIndexOutOfBoundsException(字符串角标越界异常)。