StringBuffer,StringBuilder,数组常见操作,Arrays,基本类型包装类--1

01_常见对象(StringBuffer类的概述)
/*
* StringBuffer: 是一个字符串缓冲区(其实就是一个容器) , 是一个可变动
* 线程安全 : 对应效率低
* String 和StringBuffer区别:
* String: 不可变
* StringBuffer: 是可变的字符序列
*/
02_常见对象(StringBuffer类的构造方法)
/* 构造方法:
* public StringBuffer(): 无参构造方法
public StringBuffer(int capacity): 指定容量的字符串缓冲区对象
public StringBuffer(String str): 指定字符串内容的字符串缓冲区对象
* 方法:
* public int capacity(): 获取容量
* public int length(): 获取长度的
*/

public class StringBufferDemo { 
    public static void main(String[] args) {        
        // public StringBuffer():   无参构造方法
        StringBuffer sb = new StringBuffer();       
        // 输出
        System.out.println(sb.capacity());
        System.out.println(sb.length());

        System.out.println("------------------------------");

        // public StringBuffer(int capacity):指定容量的字符串缓冲区对象
        StringBuffer sb2 = new  StringBuffer(23);
        System.out.println(sb2.capacity());
        System.out.println(sb2.length());

        System.out.println("------------------------------");

        // public StringBuffer(String str): 指定字符串内容的字符串缓冲区对象
        StringBuffer sb3 = new StringBuffer("hello");
        System.out.println(sb3.capacity());
        System.out.println(sb3.length());

        System.out.println(sb3);        
    }
}

03_常见对象(StringBuffer的添加功能)
/*
* StringBuffer和添加功能相关的方法
* public StringBuffer append(String str): 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str): 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
*/

public class StringBufferDemo { 
    public static void main(String[] args) {        
        // 创建StringBuffer对象
        StringBuffer sb = new StringBuffer() ;      
        // public StringBuffer append(String str):  可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
        // StringBuffer sb2 = sb.append("hello");
        sb.append("hello");
        sb.append("world");
        sb.append("java");

        System.out.println(sb);

        System.out.println("--------------------------------");

        // helloworldjava

        // public StringBuffer insert(int offset,String str):   在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
        sb.insert(5, "我爱");

        System.out.println(sb);             
    }
}

04_常见对象(StringBuffer的删除功能)
/*
* StringBuffer和删除功能的相关的方法:
* public StringBuffer deleteCharAt(int index): 删除指定位置的字符,并返回本身
public StringBuffer delete(int start,int end): 删除从指定位置开始指定位置结束的内容,并返回本身
*/

public class StringBufferDemo { 
    public static void main(String[] args) {        
        // 创建StringBuffer对象
        StringBuffer sb = new StringBuffer();       
        // 添加元素
        sb.append("hello");
        sb.append("world");
        sb.append("java");

        // public StringBuffer deleteCharAt(int index):     删除指定位置的字符,并返回本身

        // StringBuffer sb2 = sb.deleteCharAt(0);
//      sb.deleteCharAt(0);
//      sb.deleteCharAt(0);
//      System.out.println(sb);

        System.out.println("---------------------------");

        // "helloworldjava"

        // public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身
        // 包含头,不包含尾
        sb.delete(0, 5);

        System.out.println(sb);                     
    }
}

05_常见对象(StringBuffer的替换和反转功能)
/**
* StringBuffer和替换相关的功能:
* public StringBuffer replace(int start,int end,String str): 从start开始到end用str替换
* StiringBuffer和反转相关的功能:
* public StringBuffer reverse():字符串反转
*/

public class StringBufferDemo { 
    public static void main(String[] args) {    
        // 创建一个StringBuffer对象
        StringBuffer sb = new StringBuffer() ;      
        // 添加元素
        sb.append("helloworldjava");    
        // public StringBuffer replace(int start,int end,String str):   从start开始到end用str替换, 返回缓冲区本身
        // StringBuffer sb2 = sb.replace(0, 5, "你好");       
        sb.replace(0, 5, "你好");

        // System.out.println(sb2);
        System.out.println(sb);

        System.out.println("---------------------------");

        // 创建一个StringBuffer对象
        StringBuffer sb3 = new StringBuffer() ;

        // 添加元素
        sb3.append("菲亦刘爱我");

        // public StringBuffer reverse():字符串反转
        // StringBuffer sb4 = sb3.reverse() ;

        sb3.reverse() ;

        //System.out.println(sb4);
        System.out.println(sb3);    
    }
}

06_常见对象(StringBuffer的截取功能及注意事项)
/*
A:StringBuffer的截取功能
public String substring(int start): 从指定位置截取到末尾
public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
B:注意事项
注意:返回值类型不再是StringBuffer本身
*/

public class StringBufferDemo { 
    public static void main(String[] args) {    
        //创建字符串缓冲区对象
        StringBuffer sb = new StringBuffer() ;  
        // 添加元素
        sb.append("helloworldjava");    
        // public String substring(int start):  从指定位置截取到末尾
        String result = sb.substring(5);    
        // 输出
        System.out.println(sb);
        System.out.println(result); 
        System.out.println("-----------------------------");
        // public String substring(int start,int end):  截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
        String result2 = sb.substring(0, 5) ;
        System.out.println(result2);        
    }
}

07常见对象(StringBuffer和String的相互转换)
/*
* String 和 StringBuffer的相互转换
* String —– StringBuffer 转换意义: 是为了使用StringBuffer里面的功能
* a: 构造方法
* b: 通过append方法
* StringBuffer —— String 转换的意义: 我们的需要的结果很有可能是String类型的
* a: String构造方法
* b: toString()方法
*/

public class StringBufferDemo {
    public static void main(String[] args) {        
        // 创建一个String对象
        String s = "helloworldjava" ;       
        // a: 构造方法
        // StringBuffer sb = new StringBuffer(s);
        // System.out.println(sb);  
        // b: 通过append方法进行转换
        StringBuffer sb = new StringBuffer();
        sb.append(s);       
        System.out.println(sb);

        System.out.println("------------------------------");

        // 创建一个StringBuffer对象
        StringBuffer sb2 = new StringBuffer("我爱你");

        // a: 通过构造方法
        String s2 = new String(sb2);

        // 输出
        System.out.println(s2);

        // b: 通过toString()方法
        String result = sb2.toString() ;

        // 输出
        System.out.println(result);
    }   
}

08常见对象(把数组转成字符串)
/*
* 需求:把数组中的数据按照指定个格式拼接成一个字符串
举例:
int[] arr = {1,2,3};
输出结果:
“[1, 2, 3]”
用StringBuffer的功能实现
分析:
a: 创建StringBuffer对象sb
b: 创建arr数组
c: 在sb中添加”[”
d: 遍历数组,获取每一个元素,添加到sb中
*/


public class StringBufferTest {

    public static void main(String[] args) {

        // 创建StringBuffer对象sb
        StringBuffer sb = new StringBuffer() ;

        // 创建arr数组
        int[] arr = {1, 2, 3};  

        // 在sb中添加"["
        sb.append("[ ");

        // 遍历数组,获取每一个元素,添加到sb中
        for(int x = 0 ; x < arr.length ; x++){

            if(x == arr.length - 1 ){
                sb.append(arr[x] + " ]");
            }else {
                sb.append(arr[x] + ", ");
            }
        }

        // 把StringBuffer转换成String
        String result = sb.toString() ;

        // 输出
        System.out.println(result);
    }

09_常见对象(StringBuffer和StringBuilder的区别)
/*
* StringBuilder: 是一个可变的,是线程不安全,效率高 . 建议在单线程中使用StringBuilder
*
* String,StringBuffer,StringBuilder的区别
* a: String是一个不可变 , 而StringBuffer , StringBuilder是可变的
* b: StringBuffer 是线程安全,效率低
* StringBuilder是线程不安全, 效率高
*/
10_常见对象(String和StringBuffer分别作为参数传递)
/*
* java语言的参数传递问题:
* 基本数据类型的参数传递,形式参数的改变对实际参数没有影响
* 引用数据类型的参数传递,形式参数的改变对实际参数是有直接影响的
* String和StringBuffer作为参数传递的问题:
* String虽然是一个引用数据类,但是在作为参数传递的时候,是按照基本数据类型方式进行传递的
* StringBuffer是一个引用数据类型,在作为参数传递的时候,按照引用数据类型方式进行传递的
* String是一个常量,比较特殊
*/

public class StringBufferDemo { 
    public static void main(String[] args) {
        // 创建StrigBuffer对象
        StringBuffer sb = new StringBuffer() ;
        sb.append("java") ;     
        // 调用change方法
        change(sb);     
        // 输出
        System.out.println(sb);

        System.out.println("-------------------------");

        // 创建两个String变量
        String s1 = "hello";
        String s2 = "world" ;

        // 调用change方法
        change(s1 , s2) ;

        // 输出
        System.out.println(s1);
        System.out.println(s2);
    }

    /*
     * 参数传递
     */
    public static void change(String s1 , String s2){

        s1 = s2 ;
        s2 = s1 + s2 ;
    }   
    /*
     * 接收StringBuffer类型的参数
     */
    public static void change(StringBuffer sb){
        sb.append("hello");
    }
}

10_常见对象(Arrays类的概述和方法使用)
/*A:Arrays类概述
针对数组进行操作的工具类。
提供了排序,查找等功能。
B:成员方法
public static String toString(int[] a)
public static void sort(int[] a)
public static int binarySearch(int[] a,int key)
*/

public class ArraysDemo {   
    public static void main(String[] args) {        
        // 定义一个数组
        int[] arr = {24, 69, 80, 57, 13} ;          
        // public static String toString(int[] a): 把int类型的数据转换成字符串
        String result = Arrays.toString(arr);       
        //输出
        System.out.println(result);     
        // public static void sort(int[] a):对数组进行排序
        Arrays.sort(arr) ;      
        // 把数组转换字符串
        String result2 = Arrays.toString(arr);      
        // 输出
        System.out.println(result2);        
        // [13, 24, 57, 69, 80]
        // public static int binarySearch(int[] a,int key): 二分查找
        int index = Arrays.binarySearch(arr, 500) ;
        System.out.println(index);      
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值