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(): 获取长度的
*/
03_常见对象(StringBuffer的添加功能)
/*
* StringBuffer和添加功能相关的方法
* public StringBuffer append(String str): 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str): 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
*/
04_常见对象(StringBuffer的删除功能)
/*
* StringBuffer和删除功能的相关的方法:
* public StringBuffer deleteCharAt(int index): 删除指定位置的字符,并返回本身
public StringBuffer delete(int start,int end): 删除从指定位置开始指定位置结束的内容,并返回本身
*/
05_常见对象(StringBuffer的替换和反转功能)
/**
* StringBuffer和替换相关的功能:
* public StringBuffer replace(int start,int end,String str): 从start开始到end用str替换
* StiringBuffer和反转相关的功能:
* public StringBuffer reverse():字符串反转
*/
06_常见对象(StringBuffer的截取功能及注意事项)
/*
A:StringBuffer的截取功能
public String substring(int start): 从指定位置截取到末尾
public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
B:注意事项
注意:返回值类型不再是StringBuffer本身
*/
07常见对象(StringBuffer和String的相互转换)
/*
* String 和 StringBuffer的相互转换
* String —– StringBuffer 转换意义: 是为了使用StringBuffer里面的功能
* a: 构造方法
* b: 通过append方法
* StringBuffer —— String 转换的意义: 我们的需要的结果很有可能是String类型的
* a: String构造方法
* b: toString()方法
*/
08常见对象(把数组转成字符串)
/*
* 需求:把数组中的数据按照指定个格式拼接成一个字符串
举例:
int[] arr = {1,2,3};
输出结果:
“[1, 2, 3]”
用StringBuffer的功能实现
分析:
a: 创建StringBuffer对象sb
b: 创建arr数组
c: 在sb中添加”[”
d: 遍历数组,获取每一个元素,添加到sb中
*/
09_常见对象(StringBuffer和StringBuilder的区别)
/*
* StringBuilder: 是一个可变的,是线程不安全,效率高 . 建议在单线程中使用StringBuilder
*
* String,StringBuffer,StringBuilder的区别
* a: String是一个不可变 , 而StringBuffer , StringBuilder是可变的
* b: StringBuffer 是线程安全,效率低
* StringBuilder是线程不安全, 效率高
*/
10_常见对象(String和StringBuffer分别作为参数传递)
/*
* java语言的参数传递问题:
* 基本数据类型的参数传递,形式参数的改变对实际参数没有影响
* 引用数据类型的参数传递,形式参数的改变对实际参数是有直接影响的
* String和StringBuffer作为参数传递的问题:
* String虽然是一个引用数据类,但是在作为参数传递的时候,是按照基本数据类型方式进行传递的
* StringBuffer是一个引用数据类型,在作为参数传递的时候,按照引用数据类型方式进行传递的
* String是一个常量,比较特殊
*/
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)
*/
/*
* 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); } }
相关文章推荐
- UI_Block传值
- UIView 坐标转换
- 2015UESTC 暑假集训总结
- 测试[ uinon_struct ]
- 老粗ios学习笔记-ui开发xib篇
- php删除数值中重复value,只留其一
- iOS学习笔记-UIViewController生命周期
- POJ-2533-Longest Ordered Subsequence(LIS模板)
- Value does not fall within the expected range 值不在预期的范围内
- String,StringBuffer,StringBuilder的区别
- Android UI学习之CheckBox
- FragmentTabHost切换Fragment时避免重复加载UI
- 说说NetSuite中国合作代理商怎么样及有哪些优缺点
- HDU 4893 Wow! Such Sequence!(2014年多校联合 第三场 G)(线段树)
- [LintCode]unique paths with obstacles
- Android开发UI之给ListView设置布局动画效果
- [LintCode]unique paths
- UIButton的titleEdgeInsets和imageEdgeInsets属性
- DZY Loves Sequences
- 解决MySQL连接超时Communications link failure due to underlying exception