1.1 String类和StringBuffer类
实际开发中经常用到字符串,这些字符串必须包含在英文的双引号中。Java中定义了两个类——String类和StringBuffer类来封装字符串,并提供了一系列操作字符串的方法。
1.1.1 String类的初始化
1. String 变量名 = 字符串
2.String 变量名 = new String (字符串)
例:
public static void main(String[] args) {
//创建一个空的字符串
String str1 = new String();
//创建有内容的字符串
String str2 = new String("abcdefg");
//创建集合的字符串
char[] charArray = new char[] {'a','s','d'};
String str3 = new String(charArray);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
1.1.2 String类的常见操作
1.字符串的基本操作
public static void main(String[] args) {
String s = "abcjdlaskofjd";
System.out.println("字符串的长度:"+s.length());
System.out.println("字符串的字符位置:"+s.charAt(3));
System.out.println("字符a第一次出现的地方:"+s.indexOf('a'));
System.out.println("字符a最后出现的地方:"+s.lastIndexOf('a'));
}
2.字符串的转化操作
public static void main(String[] args) {
String str = new String("Java");
char[] charArray = str.toCharArray(); //字符串转换成字符数组
System.out.println("将字符串遍历");
for (int m=0; m< charArray.length; m++){
if (m != charArray.length-1){
System.out.println(charArray[m] + ",");
}else {
System.out.println(charArray[m]);
}
}
System.out.println("将int值转化为String类型之后的效果"+String.valueOf(12));
System.out.println("将字符串转化为大写:"+str.toUpperCase());
}
3.字符串的替换和去除空格操作
public static void main(String[] args) {
String str = " http :// localhost : 8080 ";
//去除字符串的前后空格
System.out.println(str.trim());
//去除字符串的所有空格
System.out.println(str.replace("",""));
}
4.字符串的判断操作
public static void main(String[] args) {
String str1 = "asdfghj";
String str2 = "asdfghj";
System.out.println(str1.startsWith("as")); //是否以某字符串开头
System.out.println(str1.endsWith("hj")); //是否以某字符串结束
System.out.println(str1.contains("sf")); //是否包含某字符串
System.out.println(str1.isEmpty()); //是否为空
System.out.println(str1.equals(str2));
}
5.字符串的截取和分取
public static void main(String[] args) {
String str = "2023-01-24";
System.out.println(str.substring(5,7)); //截取
//分割
String[] strArray = str.split("-");
for (int i=0;i< strArray.length;i++){
if (i != strArray.length-1){
System.out.println(strArray[i]+",");
}else{
System.out.println(strArray[i]);
}
}
}
1.1.3 StringBuffer类
String类就是final类,String定义的字符就是一个常量,是不能修改的。StringBuffer类也叫字符串缓冲区
public static void main(String[] args) {
add();
updata();
delete();
}
public static void add() {
StringBuffer sb = new StringBuffer(); //字符缓冲区
//添加
sb.append("ABC");
System.out.println("append=" + sb);
sb.insert(3, "DE");
System.out.println("insert=" + sb);
}
public static void updata(){
StringBuffer sb = new StringBuffer("AAAAA");
sb.setCharAt(1,'B');
System.out.println(sb);
sb.replace(2,5,"CDE");
System.out.println(sb);
System.out.println(sb.reverse()); //翻转字符
}
public static void delete(){
StringBuffer sb = new StringBuffer("ABCDEFG");
sb.delete(3,5); //范围删除
System.out.println(sb);
sb.deleteCharAt(3); //指定位置删除
System.out.println(sb);
sb.delete(0,sb.length()); //清空字符串缓冲区
System.out.println(sb);
}