您的位置:首页 > 产品设计 > UI/UE

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

2015-07-16 17:56 661 查看
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("菲亦刘爱我");

4000
// 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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: