java学习笔记(十二)String与StringBuffer类
来源:互联网 发布:php mvc的实现 编辑:程序博客网 时间:2024/06/10 00:11
String与StringBuffer类
1.String类
1.定义: 是由多个字符组成的一串数据。(字符序列)
其实字符串可以看成是一个字符数组。
2.构造方法:
public String():无参构造方法 public String(byte[] bytes):把字节数组转换为字符串 public String(char[] value):把字符数组转换为字符串 public String(char[] value,int offset,int count):把字符数组的一部分转换为字符串 public String(String original):把一个字符串转换为字符串(需要利用到的一个成员方法)成员方法: public int length():返回此字符串的长度
3.String的特点
A: String类的数据特点: 字符串是常量;它们的值在创建之后不能更改 根据以上结论请问输出的s的值是多少? String s = "hello"; s += "world"; System.out.println(s); 结论: 字符串的内容不能发生改变,但是字符串引用的指向是可以改变的。 B:String s = new String("hello")和String s = "hello"的区别 前者创建了1个或者2个对象 后缀创建了0个或者1个对象
4.String类的成员方法
A:判断功能 boolean equals(Object obj):比较两个字符串的内容是否相同,严格区分大小写。(用户名,密码) boolean equalsIgnoreCase(String str):比较两个字符串的内容是否相同,忽略大小写。(验证码) boolean contains(String str):判断字符串中是否包含一个子串。 boolean startsWith(String str):判断是否以指定的字符串开头 boolean endsWith(String str):判断是否以指定的字符串结尾 boolean isEmpty():判断字符串的内容是否为空 问题:内容为空和对象为空是一个意思吗? 答:不是 B:获取功能 String类的获取功能: int length():返回字符串的长度。其实就是字符的个数。 char charAt(int index):返回字符串中指定索引处的字符。 int indexOf(int ch):返回指定的字符在字符串中第一次出现的索引。 明明说的是字符,为什么是int呢? 原因是int类型还可以接收char类型。 97,'a'是一样的效果。 但是如果参数是char类型,你就不能写97了。 int indexOf(String str):返回指定的字符串在字符串中第一次出现的索引。 String substring(int start):截取从start开始到末尾的字符串。 String substring(int start,int end):截取从start开始到end结束的字符串。 C:转换功能 byte[] getBytes():把字符串转换为字节数组 char[] toCharArray():把字符串转换为字符数组 static String valueOf(char[] chs):把字符数组转换为字符串 static String valueOf(int i):把int类型的数据转换为字符串 valueOf():可以把任意类型的数据转换为字符串。 String toLowerCase():把字符串转成小写 String toUpperCase():把字符串转成大写 String concat(String str):拼接字符串,前面我们使用过+进行字符串的拼接,不够专业。 D:其他功能 A:替换功能 String replace(char old,char new) String replace(String old,String new) B:去除字符串两端空格 String trim()
练习:有abasdcalsjdfasf34asfjsfasf一段字符串,找出其中重复最多的字符,和重复最少的字符和重复的次数!
public class StringFind { public static void main(String[] args) { String s="abasdcalsjdfasf34asfjsfasf"; char[] c=s.toCharArray(); int[] cunt=new int[c.length]; int max=0; char maxchar=' '; char minchar=' '; for (int i = 0; i < c.length; i++) { for (int j = 0; j < c.length; j++) { if(c[i]==s.charAt(j)) { cunt[i]+=1; } } } for (int i = 0; i < cunt.length; i++) { if(cunt[i]>max){ max=cunt[i]; maxchar=c[i]; } } System.out.println("重复次数最多的字符和次数为:"); int flag = 0; for (int i = 0; i < cunt.length; i++) { for (int j = 0; j <i; j++) { if(c[i]==c[j]){ flag=1; } } if(cunt[i]==max&flag!=1){ System.out.print((char)c[i]+"("+ cunt[i]+")次"+" "); } flag=0; } System.out.println(); System.out.println("重复次数最少的字符和次数为:"); int min=max; for (int i = 0; i < cunt.length; i++) { if(cunt[i]<min){ min=cunt[i]; minchar=c[i]; } } for (int i = 0; i < cunt.length; i++) { for (int j = 0; j <i; j++) { if(c[i]==c[j]){ flag=1; } } if(cunt[i]==min&cunt[i]!=max&flag!=1){ System.out.print((char)c[i]+"("+ cunt[i]+")次"+" "); } flag=0; }}}
2.StringBuffer
1.构造方法:
StringBuffer():构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 StringBuffer(int capacity):构造一个其中不带字符的字符串缓冲区,其初始容量为 capacity个字符。 StringBuffer(String str):构造一个其中带字符的字符串缓冲区,其初始容量为??? 个字符。
2. 成员方法:
public int length():返回长度(字符数)。实际值 public int capacity():返回当前容量。 理论值 添加功能:添加元素,并返回本身的对象。 A:public StringBuffer append(String str):追加数据,在末尾添加 B:public StringBuffer insert(int offset,String str):插入数据,在指定位置添加 删除功能: public StringBuffer deleteCharAt(int index):删除指定索引处的字符 public StringBuffer delete(int start,int end):删除从start开始到end结束的数据,包左不包右 替换功能: public StringBuffer replace(int start,int end,String str):用str替换从start到end的数据 反转功能: public StringBuffer reverse() 截取功能:返回值类型是String类型,本身没有发生改变 public String substring(int start) public String substring(int start,int end)
3.String与StringBuffer相互转换:
1.String – StringBuffer
String s = "hello"; // 方式1 StringBuffer sb1 = new StringBuffer(s); // 方式2 StringBuffer sb2 = new StringBuffer(); sb2.append(s);
2. StringBuffer – String
StringBuffer sb = new StringBuffer("world"); //方式1 String s1 = sb.substring(0); //方式2 String s2 = sb.toString(); //方式3 String s3 = new String(sb);
1 0
- java学习笔记(十二)String与StringBuffer类
- Java学习笔记(十)String类和StringBuffer类
- Java学习笔记(四)--封装 String类 StringBuffer StringBuilder
- 黑马程序员 笔记(十二)——String、StringBuffer、StringBulider
- java学习笔记(十)----String类和StringBuffer类
- 区别 String 类 和 StringBuffer 类 -Java 学习笔记 (19)
- java学习笔记-String 和StringBuffer
- java学习笔记-String,StringBuffer,StringBuilder浅析
- 【Java学习笔记】String、StringBuffer和StringBuilder
- 【Java学习笔记】08.String和StringBuffer
- JAVA基础学习(十三)--String、StringBuilder、StringBuffer与包装类
- 黑马程序员 java学习笔记——String类(包含StringBuffer和StringBuilder)
- Java-String与StringBuffer
- Java String与StringBuffer
- Java笔记第十一课(String类&StringBuffer类)
- java笔记(一):String,StringBuffer,StringBuilder
- java学习笔记(十二)
- Java学习笔记(十二)
- c++语法教程
- COleSafeArray
- QT入门基础知识
- Linux之shell编程基本介绍
- JAVA BFS 广度搜索
- java学习笔记(十二)String与StringBuffer类
- MySQL数据库的练习
- Myeclipse在对项目进行“Clean”操作后重新编译无法生成Class文件
- react-native json 上传本地图片及网络图片方法
- Linux之shell编程基本语句
- 生产环境实战spark (2)Linux CentOS-7.0-1406-x86_64系统安装
- linux运维-文件权限
- Comparable接口的实现和使用
- react-bits:数组作为子元素