黑马程序员——关于StringBuffer

package com.itheima.example;

/*StringBuffer

* 字符串的组成原理就是通过该类实现的

* StringBuffer可以对字符串内容进行增减

* StringBuffer是一个容器

* 很多方法和String相同

* StringBuffer是可变长度的

*

* StringBuffer是字符串缓冲区。

*

* 就是一个容器

* 1.长度是可变化的

* 2.可以添加任意类型,多个数据类型都可以

* 3.最终会通过toString方法变成字符串

*

* C create

* U update

* R read

* D delete

* 容器特点:就是对数据的改变

* 1.存储

* StringBuffere append();

* 将指定的数据做完参数添加到已有数据的结尾处。

* StringBuffere insert(index,数据);

* 可以将数据插入到指导index当中

*

* 2.删除

* StringBuffer delete(start end)删除缓冲区当中的数据

* 包含start 不包含end

* StringBuffer deleteCharAt(index)删除指定位置的数据

*

* 3.获取

* char charAt(int index)

* indexOf(String str)

* int lastIndexOf(String str)

* int length()

* String substring(int start,int end)

*

* 4.修改

* stringBuffer.replace(start,end,string);

*

* void stringBuffer.setCharAt(int index,char ch);

*

* 5.反转

* StringBuffer reverse();

*

* 6.将缓冲区中指定的数据存储到指定的字符数组当中

* void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)

*

* 特别:

* 在jdk1.5之后,出现了StringBuilder

* StringBuffer是线程同步(安全的,但是效率比较低)

* StringBulider是线程不同步(不安全的,效率比较高,用于多线程)

* 开发建议使用StingBulider

*

*

* java升级:

* 1.提高效率

* 2.简化书写

* 3.提高安全性能

* */

public class Note2

{

public static void main(String[] argsStrings)

{

StringBuffer stringBuffer=new StringBuffer();

// StringBuffer stringBuffer2=stringBuffer.append(111);

// System.out.println(stringBuffer.toString());

// System.out.println(stringBuffer2.toString());

// System.out.println(stringBuffer=stringBuffer2);

stringBuffer.append("abc").append(true).append(111);

stringBuffer.insert(1, "yy");//

System.out.println(stringBuffer.toString());

stringBuffer.delete(2, 3);

System.out.println(stringBuffer.toString());

stringBuffer.replace(1, 2, "ew");

System.out.println(stringBuffer.toString());

stringBuffer.setCharAt(2, ‘a‘);

System.out.println(stringBuffer.toString());

stringBuffer.deleteCharAt(4);

char[] chs=new char[4];

stringBuffer.getChars(1, 4, chs, 1);

for (int x = 0; x < chs.length; x++)

{

System.out.println("chs"+x+chs[x]+")");

}

//清空缓冲区

stringBuffer.delete(0, stringBuffer.length());

System.out.println("清空之后"+stringBuffer.toString());//abctrue1111

StringBuilder stringBuffer1=new StringBuilder();

//StringBuffer stringBuffer2=stringBuffer.append(111);

//System.out.println(stringBuffer.toString());

//System.out.println(stringBuffer2.toString());

//System.out.println(stringBuffer=stringBuffer2);

stringBuffer1.append("abc").append(true).append(111);

stringBuffer1.insert(1, "yy");//

System.out.println(stringBuffer1.toString());

stringBuffer1.delete(2, 3);

System.out.println(stringBuffer1.toString());

stringBuffer1.replace(1, 2, "ew");

System.out.println(stringBuffer1.toString());

stringBuffer1.setCharAt(2, ‘a‘);

System.out.println(stringBuffer1.toString());

stringBuffer1.deleteCharAt(4);

char[] chs1=new char[4];

stringBuffer1.getChars(1, 4, chs1, 1);

for (int x = 0; x < chs1.length; x++)

{

System.out.println("chs"+x+chs1[x]+")");

}

//清空缓冲区

stringBuffer1.delete(0, stringBuffer1.length());

System.out.println("清空之后"+stringBuffer1.toString());//abctrue1111

}

}

详情请查看:http://edu.csdn.net/heima

时间: 2024-11-20 07:54:23

黑马程序员——关于StringBuffer的相关文章

黑马程序员------String和StringBuffer、StringBuilder

黑马程序员------String和StringBuffer.StringBuilder 1.1String String是一个特殊的对象,一旦被初始化,就不会被改变.()指的是abc 不是变量 s1. String s1="abc"; s1是一个类类型变量,“abc”是一个对象.String s2=new String("abc"); s1和s2的区别:s1在字符串常量池中创建了一个abc字符串s2在堆中创建了两个对象一个是默认对象一个是字符串对象. ==和equ

黑马程序员_API

------- android培训.java培训.期待与您交流! ---------- ======================API========================================= 看api的步骤: 1.看类的说明.其所属的包以及出现的版本. 2.看其构造函数. 3.看普通的方法.看时注意参数,和返回值类型. Object类 1. private static native void registerNatives (); 见到本地关键字修饰的方法,这个方

黑马程序员——Java I/O流基础知识点(File类)

File工具 File类就是用俩将文件或者文件夹封装对象,弥补流对象的不足--流只能操作数据,不能操作文件夹的 封装的是路径!!! 构造方法演示 1.可以将已有的未出现的文件或者文件夹封装成对象. File f1=new File("c:\\abc\\a.txt"): File f2=new File("d:\\abc","ab.txt"打印,会打印路径.:目录分隔符,为了更好地跨平台File. File类常见功能 1,创建 createNewF

黑马程序员_Java基础加强(下)

8.注解类 注解相当于一种标记,加了注解就等于打上了某种标记,没加就等于没打特殊标记,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记就去干什么事,标记可以加在包.类.字段.方法,方法的参数以及局部变量上. 注解的应用结构图: 为注解增加属性 定义基本类型的属性和应用属性 在注解类中增加String color(); @MyAnnotation(color = "red") 用反射方式获得注解对应的实例对象后,再通过该对象调用属性对应的方法 MyAnno

黑马程序员_Java基础加强(上)

1.静态导入 静态导入是jdk1.5版本以后出现的新特性,一般是指导入静态方法,如:import static java.lang.System.out 是指导入系统输出的静态方法. 例: import static java.lang.System.out //导入java.lang包下的System类的静态方法out public class StaticImport { public static void main(String[] args) { int x=1; x++; out.p

黑马程序员——高新技术---反射

黑马程序员——高新技术---反射 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 反射把Java类中的各种成分映射成相应的Java类,例如一个Java类中用一个Class类的对象表示,一个类中的组成部分:成员变量,方法,构造方

黑马程序员_Java IO(下)

1,字符编码 在Java程序的开发中最常见的是ISO8859-1,GBK/GBK2312,unicode,UTF编码. ISO8859-1:属于单字节编码,最多只能表示0-255的字符范围,主要在英文上应用. GBK/GB2312:中文的国际编码,专门用来表示汉字,是双字节编码,如果在此编码中出现中文,则使用ISO8859-1编码,GBK可以表示简体中文和繁体中文,而GB2312只能表示简体中文,GBK兼容GB2312 unicode:Java中使用此编码方式,是最标准的一种编码,使用十六进制进

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员——java基础——反射

 黑马程序员--java基础--反射 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 反射 其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员. 反射就是把Java类中的各种成分映射成相应的java类. 简单说:反射技术可以对一个类进行解剖. 反射的基石-->Class类 1.java中的类是用来描述一类事物的共性,该类事物有什么属性,没有什么属性