Java核心之String缓冲

上节学习回顾:数组概念,使用,常识,main方法介绍,知识点,数组的特点,数组练习,创建

本节学习预览:String类型介绍(详细),StringBuffer,StringBuilder,数组拷贝,二维数组

再次说明:文章涉及的软件读者需要的话私信必发,意在帮助大家学习

知识体系:相对简单的前端知识>Java核心>Oracle核心>Java Web开发>框架技术>MyBatis等前沿技术>实战笔记>Linux系统学习

1.String类型

1.构造函数

String(char a[]);字符数组构造出String对象

String(char a[] int offset,int length);字符数组中从offset开始,length长度的字符

2.获取字符串信息

1.length();获取字符串长度

2.indexOf(String str);str首次出现的位置。没有出现就返回-1。如果参数为“”没有空格,那么会返回0

3.lastIndexOf(String str);str最后出现的位置。没有出现就返回-1。如果参数为“”没有空格,那么会返回length()一样大的数字

4.charAt(int index);获取索引处的字符。如果不在范围就抛出String下标越界

3.字符串操作

1.substring(int beginIndex);从参数为下标开始截取到最后

2.substring(int begin,int end);从下标begin开始,end结束,包左不包右。

3.trim();返回去除前后空格的字符串副本。

4.replace(char old,char new);替换old为new,返回新的字符串。要是找不到old,就返回原来的字符串。

5.startsWith(String s);是不是以s开头,返回boolean

6.endsWith(String s);是不是以s结尾。

7.equals(String s);和s是不是一样,大小写区分

8.equalsIgnoreCase(String s);忽略大小写,是不是一样。

9.compareTo(String s);按照字典顺序比较,基于Unicode值。如果调用者字典顺序在参数前面,返回负整数;要是一样,返回0;后期看源码就理解了。

10.toLowerCase();变成小写。数字或非字符不受影响。

11.toUpperCase();变成大写。数字或非字符不受影响。

12.split(String sign);按照sign拆分字符串,返回字符串数组。要是有多个分隔符,使用“|”分开,如:.split(“,|=”);逗号和等号分割

13.split(String sign,int limit);按照sign分割,限制分割次数为limit就是最后切割成几个字符串。从前往后切割,限制次数之外的就不切了直接为最后一个字符串。

2StringBuffer和StringBuilder

1.介绍:起始位16个字符,可扩展。

2.区别:Buffer线程安全,builder效率高,常用

3.构造方法:空的,或者传入一个String对象

4.方法:

append(参数);参数为任意类型,追加到字符串后面

insert(int index,参数);在下标处插入参数,参数为任意类型。

delete(int start,int end);从start开始到end删除,包左不包右。如果start=end,则返回原来的字符串。如果不存在end,则直到最后。

3.数组的拷贝

System类的arrayCopy(原数组,开始的下标,目标数组,目标的起始位,要拷贝的长度)

但是实现的情况是:感觉更像是:让原数组中的一段数字弄到新数组中替换原来的数字

4.二维数组

1.简介:什么是二维数组:数组的元素也是数组

2.声明:

动态:int [ ][ ] arr = new int [2][3];

起初的认知中:一般以为int[2][3]是二行三列,但是现在转换思想,2是2个数组,3是每个数组3个长度。

静态:int [ ][ ] arr = { {1,2,3} , {4,5,6} };

3.二维数组中new后面的小框第一个必须写,第二个可以不写。并且深入理解“二维数组的元素是一维数组,也是对象”

解释:如果只有“行”,那么输出以后发现都是引用类型的默认值null

如果有行有列,这样,二维数组的元素——一维数组也定义了长度,也会赋初值默认为0。

总结:String类型是难点也是重点,主要是底层难以理解,看过文章的读者肯定知道前面有过关于String底层硬件的存放,懂得它的特性,明白它的使用,本节是介绍String的用法。StringBuffer和StringBuilder是缓冲类,是很节省空间的类,其实很多String实现的底层代码就是StringBuilder或者Buffer实现的,后面会学到。

结束语:做这一行就是要勤快练习,代码量是很重要的,练习才有经验。祝大家学业有成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章