Java从零开始学三十(String和StringBuffer类)
一、StringBuffer连接字符操作

二、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类)的更多相关文章
- Java从零开始学三十二(正则表达式)
一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完 ...
- Java从零开始学三十九(对象序列化)
一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储. 序列化保存对象的“全景图”,构建对象的“ ...
- Java从零开始学三十八(JAVA IO- 重定向IO)
一.三个静态变量 java.lang.System提供了三个静态变量 System.in(默认键盘) System.out(默认显示器) System.err 二.重写向方法 System提供了三个重 ...
- Java从零开始学三十六(JAVA IO- 字符流)
一.字符流 BufferedReader:BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中 BufferedWriter:把一批数据写入到缓冲区,当缓冲区区的 ...
- Java从零开始学三十五(JAVA IO- 字节流)
一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test ...
- Java从零开始学三十三四(JAVA IO-流简述)
一.流概念(stream) File类并不能对文件内容进行读写. 读文件就是指:把文件的内中的数据读取到内存中来 写文件就是指:把内存中的数据写入到文件中去. 通过什么读写文件呢?文件流. 1.1.流 ...
- Java从零开始学三十一(DATE和Calendar类)
一.Date类 Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期 二.Calendar类 Calendar类可以将取得的 ...
- Java从零开始学二十四(集合工具类Collections)
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...
- Java从零开始学四十四(多线程)
一.进程与线程 1.1.进程 进程是应用程序的执行实例. 进程是程序的一次动态执行过程,它经历了从代码加载.执行到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程 特征: 动态 ...
随机推荐
- TeamViewer运行在Windows Server 2008下连接时错误提示:正在初始化显示参数
这个是使用远程桌面安装和使用Teamviewer的问题,解决方法: 实际上安装完成后TeamViewer有两个ID,一个是个人ID(就是上面卡住的780 567 914),另一个是服务器ID,我们通过 ...
- oracle systemtap tracing
https://github.com/LucaCanali?tab=repositories https://github.com/LucaCanali/Linux_tracing_scripts/t ...
- C#调用 Oracle 存储过程样例代码
-- 建表 CREATE TABLE sale_report ( sale_date DATE NOT NULL , sale_item VARCHAR(2) NOT NULL , ...
- linux驱动移植的重要数据结构
转载:http://www.embeddedlinux.org.cn/html/jishuzixun/201304/14-2538.html 对于嵌入式 Linux 系统来说,有各种体系结构的处理器和 ...
- 探秘C#中的yield关键字
在"C#中,什么时候用yield return"中,我们了解到:使用yield return返回集合,不是一次性加载到内存中,而是客户端每调用一次就返回一个集合元素,是一种&quo ...
- MVC为用户创建专属文件夹
假设需要为用户创建专属文件夹,文件夹名为用户名,并且需要根据用户类型在不同的文件夹下创建目标文件夹. 在F盘创建"Users"文件夹,在其中创建"Gold"文件 ...
- 动态创建html元素的几种方法
可以通过以下几种方式动态创建html元素: 1.使用jQuery创建元素的语法 2.把动态内容存放到数组中,再遍历数组动态创建html元素 3.使用模版 □ 使用jQuery动态创建元素追加到jQ ...
- Android支付接入(7):Google In-app-Billing
今天跟大家一起看下Google的in-app Billing V3支付. 如果没有GooglePlay此处附上安装Google Play的一键安装器的链接(需要Root权限):http://ww ...
- VirtualBox 安装虚拟机
- 【docker】elasticsearch-head无法连接elasticsearch的原因和解决,集群健康值:未连接,ElasticSearch——跨域访问的问题
环境 ==================== 虚拟机启动 centos 7 ip:192.168.92.130 elasticsearch 5.6.9 port:9200 9201 elas ...