Demo17_Practice_按照长度递减获取字符串_StringBuffer

package test08;

public class Demo17_Practice_按照长度递减获取字符串 {

    public static void main(String[] args) {
         String str ="itcast";
         printStringByLength(str);
    }

    public static void printStringByLength(String str) {
        // TODO Auto-generated method stub
//      通过分析发现是一个for嵌套循环
        for (int i = 0; i < str.length(); i++) {
        for(int start = 0 , end = str.length()-i ; end <= str.length() ; start++ , end++ ){
//      根据start 以及 end截取字符
        String arr =str.substring(start, end);
            System.out.println(arr);
        }
        }
    }

}
package test08;

public class Demo17_StringBuffer {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    /*  StringBuffer 
     * 1.是一个字符串缓冲区,其实就是一个容器
     *  2.长度是可变的,任意类型都行  注意:是将任意数据都转成字符串进行存储
     * 3.容器对象提供了很多数据的操作功能  比如:增删改查
     * 4.必须所有的数据最终变成了一个字符串
     * 
     * 
     * 和数组之间的不同
     * 
     * 数组存储完之后可以单独操作每一个元素,每一个元素都是独立的
     * 字符串缓冲区,所有存储的元素被转成字符串,而且最后拼成了一个打的字符串
     *  */
//创建一个字符串缓冲对象,用于存储数据
//      StringBuffer sb = new StringBuffer();   
////        添加数据
//      sb.append(true);
//      System.out.println(sb);
//      int a =sb.capacity(); 
//      System.out.println("a="+a);
//      sb.insert(2, "false");//在1后添加
//      System.out.println(sb);
//      sb.replace(1, 4, "caa");//包含1不包含4
//      System.out.println(sb);
        int[] arr = {11,22,33,44,55};
        String str = toString_2(arr);
        System.out.println(str);
    }
//缓冲区的应用: 无论多少数据,什么类型都不重要,只要最终变成字符串就可以使用这个容器

    public static String toString_2(int[] arr) {
        // TODO Auto-generated method stub
        StringBuffer sb = new StringBuffer();
        sb.append("[");// 将字符串表示形式追加到此序列。
        //遍历数组
        for(int i=0 ; i < arr.length ; i++){
            if(i!=arr.length -1 ){
                sb.append(arr[i]+",");}
                else{
                    sb.append(arr[i]+"]");

            }
        }
        return sb.toString();
    }

}
/*StringBuffer:同步的,多线程访问安全
 * StringBuilder:非同步的,单线程访问效率高
 * 功能相同
 * */

猜你喜欢

转载自blog.csdn.net/mingxu_W/article/details/81871667