Java常用类(String类与StringBuffer类)(1)

Java常用类

    • 一、String类
      • 1、String类的初始化
      • 2、String类的常见操作
        • (1)字符串的基本操作
        • (2)字符串的转换操作
        • (3)字符串的替换和去除空格操作
    • 二、StringBuffer类
      • 1、简介
      • 2、常用方法
    • 三、String类与StringBuffer类的区别

一、String类

1、String类的初始化

(1)使用字符串常量直接初始化一个String对象。其语法格式如下

String 变量名 = 字符串;//字符串可以为空

(2)使用String的构造方法初始化字符串对象,其语法格式如下

String 变量名 = new String(字符串);

2、String类的常见操作

(1)字符串的基本操作

public class demo01 {
    public static void main(String[] args) {
        String s ="acdabefgab";
        System.out.println("字符串的长度:"+s.length());
        System.out.println("字符串中第二个位置上的字符:"+s.charAt(1));
        System.out.println("字符a第一次出现的位置:"+s.indexOf('a'));
        System.out.println("字符a最后一次出现的位置:"+s.lastIndexOf('a'));
        System.out.println("子字符串ab第一次出现的位置:"+s.indexOf("ab"));
        System.out.println("子字符串ab最后一次出现的位置:"+s.lastIndexOf("ab"));
    }
}

结果:
Java常用类(String类与StringBuffer类)(1)_第1张图片

(2)字符串的转换操作

public class Test1 {
    public static void main(String[] args) {
        String a = "IDEAJava";
        char[] s =a.toCharArray();  //字符串转换为字符数组
        //使用循环遍历字符数组
        for(int i = 0;i<s.length;i++){
            if(i!=s.length-1){
                System.out.print(s[i]+",");
            }else{
                System.out.println(s[i]);
            }
        }
        System.out.println("将int值转换为String类型之后的结果:" + String.valueOf(12));
        System.out.println("将字符串转换成大写后的结果:" + a.toUpperCase());
    }
}

结果:
Java常用类(String类与StringBuffer类)(1)_第2张图片

(3)字符串的替换和去除空格操作

public class Test1 {
    public static void main(String[] args) {
        String s = "    http:// local host :8080     ";
        System.out.println("原字符串:"+s);
        System.out.println("去除字符串两端的空格:" + s.trim());
        System.out.println("去除字符串中所有空格" + s.replace(" ",""));
    }
}

Java常用类(String类与StringBuffer类)(1)_第3张图片

二、StringBuffer类

1、简介

在Java中,由于String类是final类型的,所以使用String定义的字符串是一个常量,因此它一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。

为了便于对字符串进行修改,在JDK中提供一个StringBuffer类来操作字符串。

StringBuffer类的内容和长度都是可以改变的。

StringBuffer类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的StringBuffer对象。

2、常用方法

public class Test1 {
    public static void main(String[] args) {
        System.out.println("=========添加=========");
        add();
        System.out.println("=========修改=========");
        update();
        System.out.println("=========删除=========");
        delete();

    }
    //添加
    public static void add(){
        StringBuffer stb = new StringBuffer("abc");  //定义一个字符串缓冲区
        stb.append("ABCD"); //添加字符串
        System.out.println("添加后的结果:"+stb);
        stb.insert(2,0);
        System.out.println("插入后的结果:"+stb);
    }
    //修改
    public static void update(){
        StringBuffer stb = new StringBuffer("abcdef");  //定义一个字符串缓冲区
        stb.setCharAt(2,'x');  //修改指定位置的字符
        System.out.println("修改指定位置后的结果:" + stb);
        stb.replace(0,2,"99");
        System.out.println("修改后的:" + stb);
    }
    //删除
    public static void delete(){
        StringBuffer stb = new StringBuffer("abcdefgh");  //定义一个字符串缓冲区
        stb.delete(1,4); //指定范围删除
        System.out.println(stb);
        stb.deleteCharAt(0); //指定位置删除
        System.out.println(stb);
        stb.delete(0,stb.length());//清楚缓冲区
    }
}

结果:
Java常用类(String类与StringBuffer类)(1)_第4张图片

三、String类与StringBuffer类的区别

1、String类定义的字符串是常量,一旦创建后,内容和长度都是无法改变的。StringBuffer表示字符容器,其内容和长度都是可以随时修改。

2、String类重写了Object类的equals()方法,而StringBuffer类并没有

3、String类对象可以用操作符+进行连接,而StringBuffer对象之间不能。

你可能感兴趣的:(Java笔记,字符串,java,String,StringBuffer,常用类)