一、StringBuffer连接字符操作

当一个字符串的内容需要被经常改变时就要使用StringBuffer
在StringBuffer中使用append()方法,完成字符串的连接操作
 

二、StringBuffer类的常用方法

No.
方法定义
类型
描述
1
public StringBuffer()
构造
StringBuffer的构造方法
2
public StringBuffer append(char c)
方法
在StringBuffer中提供了大量的追加操作(与String中使用“+”类似),可以向StringBuffer中追加内容,此方法可以添加任何的数据类型。
3
public StringBuffer append(String str)
方法
4
public StringBuffer append(StringBuffer sb)
方法
5
public int indexOf(String str)
方法
查找指定字符串是否存在
6
public int indexOf(String str,int fromIndex)
方法
从指定位置开始查找指定字符串是否存在
7
public StringBuffer insert(int offset,String str)
方法
在指定位置处加上指定字符串
8
public StringBuffer reverse()
方法
将内容反转保存
9
public StringBuffer replace(int start,int end,String str)
方法
指定内容替换
10
public int length()
方法
求出内容长度
11
public StringBuffer delete(int start,int end)
方法
删除指定范围的字符串
12
public String substring(int start)
方法
字符串截取,指定开始点
13
public String substring(int start,int end)
方法
截取指定范围的字符串
14
public String toString()
方法
Object类继承的方法,用于将内容变为String类型

三、String类使用

package com.pb.demo1;

public class StringTest {

    public static void main(String[] args) {
String str="要好好学习Java!";
//长度length()方法
System.out.println(str+"的长度是: "+str.length());
//转换大小写toLowerCase(),toUpperCase()
System.out.println("转换为小写:"+str.toLowerCase());
System.out.println("转换为大写:"+str.toUpperCase());
//验证是否有J这个字符
int index=str.indexOf("J");
//有就返回下标,没有就返回-1
System.out.println(index);
//subString从0到4的字符但不包含下标是4的字符
System.out.println(str.substring(0, 4));
//从下标为4的开始到结束
System.out.println(str.substring(4));
//拆分
String email="wei@163.com;hao@sohu.com;aa@qq.com";
String [] emaillist=email.split(";");
//遍历数组
for (String s : emaillist) {
System.out.println(s);
}
} }

四、StringBuffer类

package com.pb.demo1;

public class StringBufferTest {

    public static void main(String[] args) {
StringBuffer str=new StringBuffer("abc_def_add_zzD");
//查找_第一次出现的位置
int indexfirst=str.indexOf("_");
System.out.println("查找_第一次出现的位置"+indexfirst);
//在第一个"_"的后面加上"A"
str.insert(indexfirst+1, "A");
System.out.println(str);
//查找最后一次出现"_"的索引位置
int indexlast=str.lastIndexOf("_");
System.out.println("查找最后一次出现_的索引位置"+indexlast);
//删除最后一个"_"
//str.deleteCharAt(indexlast);
str.delete(indexlast, indexlast+1);
System.out.println(str);
System.out.println("===================");
StringBuffer email=new StringBuffer("rock105@sohu.com");
////查找"@"的索引位置
int index=email.indexOf("@");
email.replace(0, index, "tom");
System.out.println(email); } }

Java从零开始学三十(String和StringBuffer类)的更多相关文章

  1. Java从零开始学三十二(正则表达式)

    一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完 ...

  2. Java从零开始学三十九(对象序列化)

    一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储.   序列化保存对象的“全景图”,构建对象的“ ...

  3. Java从零开始学三十八(JAVA IO- 重定向IO)

    一.三个静态变量 java.lang.System提供了三个静态变量 System.in(默认键盘) System.out(默认显示器) System.err 二.重写向方法 System提供了三个重 ...

  4. Java从零开始学三十六(JAVA IO- 字符流)

    一.字符流 BufferedReader:BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中 BufferedWriter:把一批数据写入到缓冲区,当缓冲区区的 ...

  5. Java从零开始学三十五(JAVA IO- 字节流)

    一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test ...

  6. Java从零开始学三十三四(JAVA IO-流简述)

    一.流概念(stream) File类并不能对文件内容进行读写. 读文件就是指:把文件的内中的数据读取到内存中来 写文件就是指:把内存中的数据写入到文件中去. 通过什么读写文件呢?文件流. 1.1.流 ...

  7. Java从零开始学三十一(DATE和Calendar类)

    一.Date类 Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期 二.Calendar类 Calendar类可以将取得的 ...

  8. Java从零开始学二十四(集合工具类Collections)

    一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...

  9. Java从零开始学四十四(多线程)

    一.进程与线程 1.1.进程 进程是应用程序的执行实例. 进程是程序的一次动态执行过程,它经历了从代码加载.执行到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程 特征: 动态 ...

随机推荐

  1. wikioi 1380 没有上司的舞会 树形dp

    1380 没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他 ...

  2. HDU 4718 The LCIS on the Tree (动态树LCT)

    The LCIS on the Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Oth ...

  3. 74HC245 74HCT245 74LV245 74LVC245 74LVC4245A 74LVC8T245 74LVC16T245 74ALVC164245

    74HC245/74HCT245 The 74HC245; 74HCT245 is a high-speed Si-gate CMOS device and is pin compatible wit ...

  4. Leptonica在VS2010中的编译及简单使用举例

    在tesseract-ocr中会用到leptonica库.这里对leptonica简介下. Leptonica是一个开源的图像处理和图像分析库,它的license是BSD 2-clause.它主要包括 ...

  5. echarts在数据改变后,折线图并没有全部刷新

    在做一个BI项目的时候,图表需要区分国内和国外显示.当前用户所属企业具备国内外权限的时候,展示两条图表,当查看其他企业需要根据选中的企业所具备的权限改变图表.即刚开始显示两条折线图,更改选择条件并重新 ...

  6. 转 Objective-C中不同方式实现锁(二)

    在上一文中,我们已经讨论过用Objective-C锁几种实现(跳转地址),也用代码实际的演示了如何通过构建一个互斥锁来实现多线程的资源共享及线程安全,今天我们继续讨论锁的一些高级用法. .NSRecu ...

  7. DockManager如何停靠 z

    DockManager默认只能停靠在窗体上,如果想停靠在其他控件上,我们发现并没有选项可以选,可能目前大部分解决方法是新建一个用户控件文件,再在用户控件里面单独设计模块. 除了这种方法还有没有其他的呢 ...

  8. 物联网(IoT)的11大云平台:AWS、Azure、谷歌云、Oracle、

    物联网(IoT)的11大云平台:AWS.Azure.谷歌云.Oracle. 2018-11-06 14:02 云技术 关键词:物联网AzureGoogleSalesforce云计算 导读:现在,我们将 ...

  9. PHP语言基础之MySql 05 By ACReaper

    PHP的基本语法学完后,我们马上学下PHP如何和MySql进行交互.PHP和MySql进行交互的API可以分为两类,一类是面向过程的,一类是面向对象的,面向对象的我们等复习完面向对象再介绍,现在先介绍 ...

  10. JDBC 通过PreparedStatement 对数据库进行增删改查

    1 插入数据 public boolean ChaRu3(User user){ boolean flag=true; Connection conn=null; PreparedStatement ...