上节学习回顾:数组概念,使用,常识,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实现的,后面会学到。
结束语:做这一行就是要勤快练习,代码量是很重要的,练习才有经验。祝大家学业有成!