02java语法回顾_常用api类之stringbuffer

02Java语法回顾_常用API类之StringBuffer


读了那么多年的书让我明白一个道理。人要稳重,不要想到啥就做啥。做一行越久即使你不会,几年之后慢慢的你也会了,加上一点努力你或许你能成为别人眼中的专家。

StringBuffer简介

/*
 * StringBuffer:字符串缓冲区类。
 * 与String的区别?
 *      String一旦被赋值,值不能发生改变。而StringBuffer,值还可以改变。
 * 为什么呢?
 *      StringBuffer采用的是缓冲区机制。
 *      一开始,首先开辟一些空间,然后,随着数据的增多,然后,还可以继续开辟空间。这些操作针对的是同一个对象。
 * 
 * 构造方法:
 *      StringBuffer() 
 *      StringBuffer(int capacity) 
 *      StringBuffer(String str) 
 * 
 * String和StringBuffer的转换:通过构造方法可以实现。
 * 
 * 成员方法:
 *      public int length():字符个数。实际长度。
 *      public int capacity():字符容量。理论长度。
 */

StringBuffer测试代码

public class StringBufferDemo {
    public static void main(String[] args) {
        // 方式1
        StringBuffer sb = new StringBuffer();
        System.out.println("sb:" + sb);
        System.out.println("sb.length():" + sb.length());
        System.out.println("sb.capacity():" + sb.capacity());
        System.out.println("------------------------------");

        // 方式2
        StringBuffer sb2 = new StringBuffer(50);
        System.out.println("sb2:" + sb2);
        System.out.println("sb2.length():" + sb2.length());
        System.out.println("sb2.capacity():" + sb2.capacity());
        System.out.println("------------------------------");

        // 方式3
        StringBuffer sb3 = new StringBuffer("hello");
        System.out.println("sb3:" + sb3);
        System.out.println("sb3.length():" + sb3.length());
        System.out.println("sb3.capacity():" + sb3.capacity());

        System.currentTimeMillis() ;
    }
}

StringBuffer常用方法

/*
 * 添加功能
 *      public StringBuffer append(int i):在末尾追加元素
 *      public StringBuffer insert(int index,int i):在指定位置添加元素
 * 删除功能:
 * StringBuffer deleteCharAt(int index):删除指定位置字符
 * StringBuffer delete(int start, int end):删除指定开始位置和结束位置间的字符
 * 替换功能 
 * StringBuffer replace(int start, int end, String str)
 * 把开始到结束位置的字符用一个新的字符串给替换。
 * 截取功能
 * String substring(int start):从指定位置到末尾截取
 * String substring(int start, int end): 从指定位置到结束位置截取
 * 截取一般是包左不包右。
 * 反转
 * StringBuffer reverse():字符串反转
 */

StringBuffer测试案例

/*
 * 需求:键盘录入一个字符串,请把字符串的数据反转后输出。
 * 
 * 举例:
 *      输入:abc
 *      结果:cba
 * 
 * 方式1:
 *      A:把字符串变成字符数组
 *      B:数组倒着打
 * 方式2:
 *      想使用StringBuffer的reverse()方法。
 *      A:String -- StringBuffer    构造方法
 *      B:StringBuffer -- reverse()
 *      C:StringBuffer -- String    构造方法,toString()
 */

StringBuffer测试案例代码测试

public class StringBufferTest {
    public static void main(String[] args) {
        // 方式1
        // Scanner sc = new Scanner(System.in);
        // System.out.println("请输入字符串:");
        // String line = sc.nextLine();
        // char[] chs = line.toCharArray();
        // for (int x = chs.length - 1; x >= 0; x--) {
        //  System.out.print(chs[x]);
        // }

        // 方式2
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String line = sc.nextLine();

        StringBuffer sb = new StringBuffer(line);
        // 下面也可以
        // StringBuffer sb = new StringBuffer();
        // sb.append(line);
        sb.reverse();
        String result = new String(sb);
        // 下面这个也可以
        // String result = sb.toString();
        System.out.println(result);

        // 链式编程
        // String result2 = new StringBuffer(line).reverse().toString();
        // System.out.println(result2);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值