学Java第二十一天--------StringBuilder类

StringBuilder可以看成是一个容器,创建之后里面的内容是可变的

作用:提高字符串的操作效率

1.append(任意类型)   和reverse()均是操作,没有返回值,但是操作之后的结果仍然是stringbuilder类,所以可以在此基础上append()和reverse()也是可以的,这就是链式

2.append()括号里的可以是整数类型,放到stringbuilder容器里也变成了字符串

3.length()和toString()均有返回值,前者返回的是int类型,是字符串的长度,后者是string类型

使用示例:

package com.itbaima.exe03;

public class stringbuilder01 {
    public static void main(String[] args) {
        //1.创建对象
        StringBuilder sb =new StringBuilder("abc");

        //2.添加元素
        sb.append("aaa");
        sb.append("bbb");
        sb.append("ccc");

        System.out.println(sb);

        //3.反转
        sb.reverse().append("111");

        System.out.println(sb);
        
        
    }
}

注意:因为stringbuilder是Java已经写好的类,Java在底层对他做了一些特殊处理,打印创建的对象不是地址值而是属性值,其实就是容器中字符串的值

//4.字符串的长度
        System.out.println(sb.length());

        //5.stringbuilder转换成string类型
        String str=sb.toString();
        System.out.println(str);

链式编程:

当我们在调用一个方法时,不需要用变量接收他的结果,可以继续调用其他方法

package com.itbaima.exe03;

import java.util.Scanner;

public class stringbuilder02 {
    public static void main(String[] args) {
        //链式编程
        int len=getString().substring(1).replace("A","C").length();
        System.out.println(len);

    }

    public static String getString(){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str=sc.next();
        return str;

    }
}

因为只要是string类型都能用substring()、replace()、length()、equals(),而substring()和replace()返回的也是字符串类型,所以可以一直方法下去,链式编程

再比如:

package com.itbaima.exe03;

public class stringbuilder03 {
    public static void main(String[] args) {
        StringBuilder sb=new StringBuilder();

        sb.append("aaa").append("bbb").append("ccc").append("ddd").reverse();

        System.out.println(sb);

        String str=sb.toString();
        System.out.println(str);
    }
}

练习:

1、拼接字符串

int []arr={1,2,3}  变成[1,2,3]      

(如何把一个整数变成字符串???      先定义一个空字符串,然后用+把整数变成字符串)

package com.itbaima.exe03;

public class 拼接字符串 {
    public static void main(String[] args) {
        int []arr={1,2,3};

        StringBuilder sb=new StringBuilder("[");
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1){
                sb.append(arr[i]).append("]");
            }
            else{
                sb.append(arr[i]).append(",");
            }
        }

        System.out.println(sb);
    }
}

2、判断是否对称字符串

package com.itbaima.exe03;

import java.util.Scanner;

public class 判断是否对称字符串 {
    public static void main(String[] args) {
        //1.键盘录入一个字符串
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str=sc.next();
        
        StringBuilder sb=new StringBuilder(str);
        
        String str2=sb.reverse().toString();
        
        if(str.equals(str2)){
            System.out.println("该字符串是对称字符串");
        }
        else{
            System.out.println("该字符串不是对称字符串");
        }
        
    }
}

中间str2还可以这样生成:

String str2=new StringBuilder(str).reverse().toString();

今天和博士师兄确认了要跟他做毕设,明天要开始看论文了,Java也会继续学,加油!!!

今天和pd一起学习,好开心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值