StringBuilder,StringJoiner概述和练习

练习目录:

StringBuilder的创建及几种用法
StringBuilder的链式编程
利用StringBuilder判断对称字符串
利用StringBuilder拼接字符串
StringJoiner概述与练习


StringBuilder概述

  • public StringBuilder 可以看成一个容器,创建之后里卖弄的内容是可变的
  • 作用:提高字符串的操作效率
  • public StringBuilder() — 可以是无参也可以是有参构造
  • public StringBuilder append(任意类型) — 添加数据,并返回对象本身
  • public StringBuilder reverse() — 反转容器里的内容
  • public int length() — 返回字符出现的个数
  • public String toString() — 通过tString()就可以实现把StringBuilder转换为String

练习:

有参构造
StringBuilder sb = new StringBuilder("abc");

StringBuilder的创建及几种用法

package StringBuilderdemo1;

public class test1 {
    public static void main(String[] args) {
        1.创建对象  --- 创建一个容器(有没有内容都行)  new出来的都在堆里
        StringBuilder sb = new StringBuilder("abc");
        2.添加元素  整数 小数  字符串 字符 啥都能加  一个一个往后添加
        sb.append(1.222);
        sb.append(true);
        System.out.println(sb);
        
        3.反转
        sb.reverse();
        
        4.获取长度
        int len = sb.length();
        System.out.println(len);
        
        打印
        因为StringBuilder试java已经写好的类,java在底层对其做了一些特殊的处理。
        打印对象不是地址值而是属性值
        System.out.println(sb);
        
        5.我们需要把StringBuilder变回String(字符串)
        String str = sb.toString();
        System.out.println(str);
    }
}

回到目录


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

package StringBuilderdemo1;

import java.util.Scanner;

public class test3 {
    public static void main(String[] args) {
        //链式编程:
        //当我们在调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法
        StringBuilder sb = new StringBuilder();
        //添加字符串
        sb.append("aaa").append("ccc").append("ddd");
        System.out.println(sb);

        //其实我们接收的字符串可以直接套娃使用不需要先用字符串接收
        int len = getString().substring(1).replace('2','5').length();
        System.out.println(len);
    }

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

回到目录


对称字符串:

需求:键盘接收一个字符串,程序判断该字符串是否对称,并在控制台打出是还是否

  • 使用StringBuilder的场景:
    • 字符串的拼接
    • 字符串的反转
package StringBuilderdemo1;

import java.util.Scanner;

public class test4 {
    public static void main(String[] args) {
        //对称字符串
        //需求:键盘接收一个字符串,程序判断该字符串是否对称,并在控制台打出是还是否
        //1.键入字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str = sc.next();

        //反转
        StringBuilder sb = new StringBuilder();
        String result = sb.append(str).reverse().toString();
        System.out.println(result);
        //比较
        if(str.equals(result)){
            System.out.println("当前是对称字符串");
        }
        else {
            System.out.println("不是");
        }
    }
}


回到目录

拼接字符串

需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回。

package StringBuilderdemo1;

public class test5 {
    public static void main(String[] args) {
        //拼接字符串
        //需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回。
        //1.定义数组
        int[] arr = {1,2,3};
        //2.调用方法,把数组变成字符串
        String result = arrToString(arr);
        System.out.println(result);

    }
    public static String arrToString(int[] arr) {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        //3.将arr中的元素依次添加到sb中
        String result = "";
        for (int i = 0; i < arr.length; i++) {
            if(i == arr.length-1){
                result = sb.append(arr[i]+"]").toString();
            }
            else {
                result = sb.append(arr[i]+",").toString();
            }
        }
        return result;
    }
}

回到目录


StringJoiner概述与练习

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

  • 作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用
  • StringJoiner(间隔符号);
  • StringJoiner(间隔符号,开始符号,结束符号);
  • 成员方法 StringJoiner add(添加内容) 添加数据,并返回对象本身
  • String toString() 返回一个字符串(该字符串就是拼接之后的结果)
  • length() 返回长度
package StringJoninertest;
import java.util.StringJoiner;
public class test01 {
    public static void main(String[] args) {
        //StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的
        //作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用
        //StringJoiner(间隔符号);
        //StringJoiner(间隔符号,开始符号,结束符号);
        StringJoiner sj = new StringJoiner(",","[","]");
        //成员方法 StringJoiner add(添加内容)  添加数据,并返回对象本身
        //String toString()    返回一个字符串(该字符串就是拼接之后的结果)
        //length()   返回长度
        sj.add("aaa").add("bbb").add("ccc");
        System.out.println(sj);
    }
}

在这里插入图片描述


package StringJoninertest;

import java.util.StringJoiner;

public class test02 {
    public static void main(String[] args) {
        StringJoiner sj = new StringJoiner(",","[","]");
        sj.add("aaa");
        System.out.println(sj);
        int len = sj.length();   //所有字符的总和 包括  [,]
        System.out.println(len);

        String str = sj.toString();
        System.out.println(str);   //本质是字符串不可以改变  StringBuilder 和 StringJoiner 都可以改变字符串的容器
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值