JAVA高阶笔记(二)--应用类
1.枚举:
a.why:
某些场合在传入值的时候需要人为的指定某些特定值传入?--枚举
b.what:
枚举指由一组固定的常量组成的类型
c.语法:
[Modifier] enum enumName{
enumContantName1[,enumConstantName2...[;]]
//[field,method]
}
d.how:
枚举类.枚举值;
2.包装类:
a.why: 包装类有何作用
提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
b.what: 包装类把基本类型数据转换为对象
每个基本类型在java.lang包中都有一个相应的包装类
c.注意事项:
1).所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例
public Type(type value)
如:Integer i=new Integer(1);
(*)除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
public Type(String value)
如:Integer i=new Integer("123");
2).Boolean类构造方法参数为String类型时,若该字符串内容为 true(不考虑大小写),则该Boolean对象表示true,否则表示false
当包装类构造方法参数为String 类型时,字符串不能为null,
且该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常
d.装箱: 将基本数据类型转为对象类型的过程;
拆箱: 将对象类型转为基本数据类型的过程;
其余包装类同Integer:
byte----Byte
short---Short
int ---Integer
long---Long
float---Float
double---Double
char---Character
boolean--Boolean
e.特点:
所有包装类都是final类型,不能创建它们的子类
JDK1.5后,允许基本数据类型和包装类型进行混合数学运算,JDK1.5及以后自动装箱和拆箱;
包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用
3.String:角标从0开始
a.构造方法:
详见API
b.常见方法:
length():获取字符串长度;
equals():比较字符串内容是否一致;
==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象;
equalsIgnoreCase():不区分大小写比较内容是否一致;
toUpperCase():将字符串转换为大写;
toLowerCase():将字符串转换为小写;
+:字符串拼接;
concat():字符串拼接;
indexOf():获取字符或字符串第一次出现的角标值;
charAt(index):返回指定角标的字符
substring(startIndex):从指定角标截取
substring(startIndex,endIndex):指定区间截取---大于等于startIndex,小于endIndex
trim():去除字符串前后空格;
split(格式):按照指定格式进行拆分
c.String存储过程
4.StringBuffer:--StringBuider
a.why: 对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率
b.what: 一个类似于 String 的字符串缓冲区
c.how:
append():追加方法
d.对比String:
String是不可变的,如果内容值改变对象也改变;stringbuffer始终为一个对象
经常改变内容的字符串最好不要使用String
StringBuffer是可变的字符串
字符串经常改变的情况可使用StringBuffer,更高效
JDK1.5后提供了StringBuilder,等价StringBuffer
5.Math:
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)
提供常见的数学方法
pow():指数方法
random():获取随机数方法---0.0 <= value <1.0
6.Random:
java.util.Random对象可以获取随机数值
API
7.date:
日期对象
8.calendar:
日历对象:
注意对象创建方法和属性获取方法