String 类,
string类型底层就是一个数组
1,打开api,看在那个包下,在lang包下,可以直接使用,无需导包,
2,看该类的修饰,看是接口还是抽象类 ,看看父类是哪个,是否可以被继承,
3,了解一下该类的描述
他是一个值不可改变的 ,是一个不可变序列
4,要怎么使用
使用类—–》实例化类—-》创建构造方法—–》使用成员方法
5,练习
使用空参构造, string();,可以去看底层代码,进行查看,
使用有参构造,string(bytep[] bytes)将字节数组转化为字符串
byte[ ] b = {97,98,99,100};
string s = new string(b); ///输出为 a b c d
6,charAt(X)返回索引值位置,就是从X为索引位置的值输出
string输入转换的为数组存储
7,string(byte[] bytes , int offset , int length) 在IO的时候用的多 有所选择的转换,
bytes 就是要进行解码为字符的字节
offset就是,要解码的第一个索引
length 就是要解码的字节 数
8,成员方法
方法:要学会判断返回值,方法的重载
getbytes(),将字符串转化为字节数组
例如:将”abcde”转化为字节数组为 97 98 99 100 101
byte[ ] getbytes(),
调用时,一下出现好几个那就是方法的重载,理由就是在同一个类里,方法名是一样的
这些都是string类下的
1,substring(X,Y)从自身开始包含X不包含Y,,,,X开始Y结束
2,valueof,(将其他类转换为string类型)
定义功能性比较强的那种也可以把方法定义为静态的
3,contains(X)判断字符串中是否有X
4,indexof(X)判断是否有X 有酒返回一个下标值,没有就返回-1
stringbulider()
1,这个是可变序列,线程不安全,但是效率高,添加数据可以用append
2,可以将string类型转换为stringbulider类型
这个初始容量为16个字符,数据多了如何扩容,可以看底层数据
stringbuffer()
1,这个和stringbulider基本是一样的,
2,这个是可变序列,线程安全,但是效率低
正则表达式 pattern类
1,是一种规则,含有普通字符和元字符组成
2,因为Java是面向对象的语言,一切皆对象,东西太多请百度搜索,
Arrays 类
该类就是操作数组的各种方法,如排序和搜索
1,copyof (X,Y) 调用该方法可以将数组进行复制
X,就是要进行复制的数组,Y,就是新的数组长度
2,copyofrange (X,Y,Z) 也是复制
X,就是复制的数组,Y,开始,Z,结束
math 类
方法
1,random()返回为doouble类型 大于0.0小于1.0
Date类
1,Date() 分配一个Date对象,并初始化,以便它代表它被分配的时间,测量到最近的毫秒。 new date()即可获取现在的时间
2, Date(long date)
分配一个 Date
对象,并将其初始化为表示自称为“时代”的标准基准时间以后的指定毫秒数,即1970年1月1日00:00:00 GMT。
3,DateFormat 是一个抽象类,抽象类无法实例化,
作用: 将数据格式化
所以用的是DateFromat的子类SimpleDateFromat
调用子类中的format 将日期格式化时间字符串