java基础知识(StringBuffer StringBuilder 数组常见操作 Arrays )

java第十二天之学到辽~

1.1 StringBuffer类

无参构造方法
public StringBuffer()
有参构造方法
* public StringBuffer(int capacity):	指定容量的字符串缓冲区对象
* public StringBuffer(String str):	         指定字符串内容的字符串缓冲区对象
StringBuffer的方法
* public int capacity():返回当前容量    理论值 
* public int length():返回长度(字符数)  实际值
StringBuffer的添加功能
* public StringBuffer append(String str) 可以把任意类型数据添加到字符串缓冲区
  里面,并返回字符串缓冲区本身
  
* public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据
  插入 到字符串缓冲区里面,并返回字符串缓冲区本身
StringBuffer的删除功能
* public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身

* public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束
  的内容,并返回本身
StringBuffer的替换和反转功能
* StringBuffer的替换功能
* public StringBuffer replace(int start,int end,String str)

 (从start开始到end用str替换)
* StringBuffer的反转功能
* public StringBuffer reverse()
StringBuffer的截取功能及注意事项
* public String substring(int start):   从指定位置截取到末尾
* public String substring(int start,int end): 截取从指定位置开始到结束位置
  包括开始位置,不包括结束位置
* 注意事项
  注意:返回值类型不再是StringBuffer本身
StringBuffer和String的相互转换
* String -- StringBuffer
 (1) 通过构造方法
 (2) 通过append()方法
* StringBuffer -- String
 (1) 使用substring方法
 (2) 通过构造方法
 (3) 通过toString()方法
例子:把数组中的数据按照指定个格式拼接成一个字符串

举例:
int[] arr = {1,2,3};
输出结果:
“[1, 2, 3]”
public class hhh {
public static void main(String[] args) {

    int[] arr = {1,2,3};
    StringBuffer stringBuffer = new StringBuffer();
    stringBuffer.append("[");
    for (int i = 0; i < arr.length; i++) {
        if(i!=arr.length-1){
            stringBuffer.append(arr[i]).append(" ,");
        }else{
            stringBuffer.append(arr[i]);
        }
    }
    stringBuffer.append("]");
    System.out.println(stringBuffer);
}
}
例子:字符串反转

需求:把字符串反转
举例:键盘录入"abc"
输出结果:“cba”
用StringBuffer的功能实现

   public class hhh {
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入一个字符串");
    String s = scanner.nextLine();
    StringBuffer stringBuffer = new StringBuffer(s);
    StringBuffer reverse = stringBuffer.reverse();
    System.out.println(reverse)
    }
 }
StringBuffer和StringBuilder的区别

StringBuilder 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)
建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快

StringBuilder: 线程不安全,效率高
StringBuffer 线程安全效率低

1.2 Arrays类

Arrays类概述
* 针对数组进行操作的工具类
* 提供了排序,查找等功能
成员方法

public static String toString(int[] a)
public static void sort(int[] a)
public static int binarySearch(int[] a,int key)

你可能感兴趣的:(java基础知识(StringBuffer StringBuilder 数组常见操作 Arrays ))