博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——String和StringBuffer
阅读量:3966 次
发布时间:2019-05-24

本文共 4358 字,大约阅读时间需要 14 分钟。

Java——String和StringBuffer


本人是个新手,写下博客用于自我复习、自我总结。

如有错误之处,请各位大佬指出。
参考教材:零基础学Java


直接看例

public class StringBufferTest {
public static void main(String args[]){
/* StringBuffer类用来处理可变字符串。 如果要修改一个StringBuffer类字符串,与String比, 不需要再创建新的字符串对象,直接操作原来字符串即可。 */ /*以下为StringBuffer类构造器*/ /*①默认构造器*/ StringBuffer sb1=new StringBuffer(); System.out.println("默认构造容量"+sb1.capacity()); //默认的容量是16个字符 System.out.println("默认构造长度"+sb1.length()); /*②设定容量大小的构造器*/ StringBuffer sb2=new StringBuffer(40); System.out.println("设定容量大小后的容量"+sb2.capacity()); System.out.println("设定长度大小后的长度"+sb2.length()); //StringBuffer sb=new StringBuffer(int x); //扩充内存容量:ensureCapacity(int x); //改变字符串长度:setLength(int x); sb2.ensureCapacity(100); sb2.setLength(50); System.out.println("扩充后的容量"+sb2.capacity()); System.out.println("扩充后的长度"+sb2.length()); /*以下为对StringBuffer类字符串的处理*/ /*①初始化字符串, 连接字符串*/ StringBuffer sb3=new StringBuffer("李帅是一个优秀"); sb3.append("的程序员"); System.out.println("连接后的字符串:"+sb3); sb3.setLength(2); System.out.println("设定长度后的字符串:"+sb3); /*②取字符串的单个字符*/ StringBuffer sb4=new StringBuffer("李帅很优秀"); System.out.println("取单个字符:"+sb4.charAt(1)); /*③对单个字符串赋值*/ StringBuffer sb5=new StringBuffer("小李很帅"); sb5.setCharAt(1, '毛'); System.out.println("替换字符后的字符串:"+sb5); /*④指定位置插入字符串*/ StringBuffer sb6=new StringBuffer("我是一个"); sb6.insert(4, "学生"); System.out.println("插入后的字符串:"+sb6); /*⑤提取子字符串*/ StringBuffer sb7=new StringBuffer("我是一个程序员啊"); System.out.println("substring:"+sb7.substring(2,7)); /*从第三个元素开始到第七个元素 (第八个元素不算)*/ /* substring(int index)指提取从index位置开始到最后所有字符 substring(int begin,int end)指提取从begin位置开始, 到end结束 之间所有字符 */ /*⑥倒置字符串的内容*/ StringBuffer sb8=new StringBuffer("我是一个程序员"); System.out.println("倒置后的字符串:"+sb8.reverse()); }}
public class StringTest {
public static void main(String args[]){
/*String类被定义成final, 因为若String允许被继承,则其被频繁使用,可能会降低程序性能 */ /* 在Java中,处理小的文本建议用String类,会很方便; 处理大型文本建议用StringBuffer类。 String类的内容和长度是固定的, 即一旦产生一个字符串,其对象就不可变。 */ String str1="very"; str1=str1+"good"; System.out.println("str1:"+str1); //虽然str1发生改变,但实际上是放弃了原来的空间,生成了一个新的实例。 /*以下为String类的构造器*/ /*①字节参数的构造器*/ byte[]b={
97,98,99}; String str2=new String(b); System.out.println("str2:"+str2); /*②获取指定字节数的构造器*/ byte[]c={
97,98,99,100,101,102}; String str3=new String(c,3,2); /* String(byte[]bytes,int offset,int length) 选取字节数组中从offset位置起,向后length长度内的字符串 */ System.out.println("str3:"+str3); /*③字符数组的构造器*/ char[]d={
'w','e','l','c','o','m','e'}; String str4=new String(d); System.out.println("str4:"+str4); /*④截取部分字符串数组内容的构造器*/ char[]e={
'w','e','l','c','o','m','e'}; String str5=new String(e,3,4); /* String(char[]value,int offset,int length) 选取字节数组中从offset位置起,向后length长度内的字符串 */ System.out.println("str5:"+str5); /*以下为字符串的处理方法*/ /*①串连接*/ String str6="you"; String str7="welcome"; System.out.println("concat:"+str6.concat(str7)); /*②提取子字符串*/ String str8="We are students"; System.out.println("substring:"+str8.substring(2,10)); /*从第三个元素开始到第十个元素 (第十一个元素不算)*/ /* substring(int index)指提取从index位置开始到最后所有字符 substring(int begin,int end)指提取从begin位置开始, 到end结束 之间所有字符 */ /*③从字符串中分解字符*/ String str9="abcdefghijk"; System.out.println("charAt:"+str9.charAt(1)); /*charAt返回相应位置的一个字符, charAt(1)就是取第二个位置的字符*/ /*④获取字符串长度*/ System.out.println("length:"+str9.length()); /*⑤测试字符串是否相等*/ String str10="admini"; String str11="Admini"; if(str10.equals(str11)) {
System.out.println("区分大小写相同");} else if(str10.equalsIgnoreCase(str11)) {
System.out.println("不区分大小写相同");} else System.out.println("这两个字符段无论如何不相同"); /* equals(String str)测试字符串是否相等 如果忽略大小写的话,可以用equalsIgnoreCase(String str)测试 equals比较的是两个对象的内容,只要不对其进行重载, 它就和"=="一样。在实际编程中,建议使用equals方法 */ /*⑥查找特定子串*/ String str12="是一个很优秀的程序员"; System.out.println("indexOf:"+str12.indexOf("个")); System.out.println("endsWith:"+str12.endsWith("员")); System.out.println("startsWith:"+str12.startsWith("明")); /* indexOf(字串内容):帮助查找子串,返回的是该子串的位置 如果返回负数,说明没有找到该子串 endsWith(字串内容):测试当前字符串是否以子串内容为结尾 startsWith(字串内容):测试当前字符串是否以子串内容为开始 */ /*toString()方法*/ System.out.println(str12.toString()); /*toString()方法:先将对象中的字符串提取出来,然后再进行输出 对于Java语言的类库来说,一般可以省略此方法 但如果是自己设计的类,最好加上这个方法,养成编程的良好习惯。 */ }}

转载地址:http://uxyki.baihongyu.com/

你可能感兴趣的文章
DB2 脚本
查看>>
DB2 锁升级失败将引起死锁
查看>>
遇到问题该如何解决
查看>>
[第21课] 二项分布3
查看>>
[第22课] 二项分布4
查看>>
Pandas 筛选数据
查看>>
Pandas 复合索引
查看>>
[第23课] 期望值E(X)
查看>>
[第24课] 二项分布的期望值
查看>>
Pandas 处理 NaN
查看>>
Pandas 分组统计
查看>>
Pandas 多 DataFrame联接
查看>>
Sybase 系列文章目录
查看>>
SQLServer
查看>>
Hibernate 通过 Hibernate 访问数据库
查看>>
java面试题
查看>>
消息队列相关(MQ)
查看>>
生成短连接
查看>>
java多线程
查看>>
mybatis高级结果映射
查看>>