第七章:常用类
包装类
java中有8中基本类型,对应有八种包装类
作用:包装类中封装了该类型常用的属性和方法,以方便操作。
byte---->Byte
short--->Short
int--->Integer
long---->Long
float---->Float
double---->Double
char---->Character
boolean---->Boolean
装箱:将基本数据类型转换成包装类,经常通过构造方法完成。
Integer i = new Integer(123);
拆箱:将包装类转换为基本数据类型。xxxValue()
int i2 = i.intValue();
JDK1.5之后支持自动装箱和自动拆箱
Integer i=123;//装箱
int i2=i;//拆箱
==和equals的区别
==比较的地址引用是否相同
equals比较的是内容是否相同
如果地址引用相同了,内容一定相同;但内容相同,地址引用不一定相同
字符串***
java.lang.String是不可变的字符序列,本质上是通过字符数组实现的,所以下标从0开始
常用的构造方法
String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。
String(String original) 初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列
String(char[] value)
分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
String str="abc";
常用的方法
length()
获取字符串的长度
charAt(int index)
获取指定下标位置的字符
toUpperCase()
将字符串中的字符转换为大写
toLowerCase()
将字符串中的字符转换为小写
equals(String str)
比较两个字符串对象内容是否相同
equaslIgnoreCase(String str)
忽略大小写比较内容是否相同
indexOf(String str)
索引指定字符串是否存在,如果存在返回其第一次出现的下标位置,否则返回-1
LastIndexOf(String str)
substring(int begin)
截取字符串,从begin开始截取到最后。
substring(int begin,int end)
截取字符串,从begin开始到end结束(但不包含结束位置)
concat
连接字符串
trim()
去掉前后空格,字符串中间空格无法去除
replace(string oldChar,String newChar)
替换字符串
slipt(string reg)
将字符串按照指定的表达式进行分割,并将分割后的内容封装到数组中返回。
StringBuffer/StringBuilder
StringBuffer可以看作增强的String,自带缓冲区
String/StringBuffer/StringBuilder的区别
String:不可变的字符序列
StringBuffer:可变的字符序列,基于线程安全的,效率较低
StringBuilder:可变的字符序列,非线程安全的,效率较高
常用的方法:
append(String str):追加字符串
insert(int offset,char c): 在定义位置插入字符
reverse():反转
....
Java中的日期处理
java.util.Date
java.util.Date:日期
java.sql.Date是java.util.Date的子类
常用的构造方法:
Date():创建当前日期
Date(int year, int month, int date) 创建指定日期的对象,已过时
常用的方法
getYear():获取日期中的年份
getMonth():获取日期的月份,取值返回0~11
getDate():获取日期部分
.....
Date date = new Date();
DateFormat/SimpleDateFormat
java.text.DateFormat类:是一个抽象类,可以对日期进行格式化输出或转换
java.text.SimpleDateFormat继承类DateFormat类
常用的构造方法
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
yyyy:年份
MM:月份
dd:日期
HH:小时(24进制) hh:小时(12进制)
mm:分钟
ss:秒
常用的方法:
format(Date date):将日期按照指定的格式转换为字符串
parse(String DateStr):将字符串转换为日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Calendar
java.util.Calendar:日历,抽象类
常用的属性:
YEAR:代表年份
MONTH:代表月份
DATE:日期
DAY_OF_MONTH:get 和 set 的字段数字,指示一个月中的某天。
DAY_OF_WEEKget 和 set 的字段数字,指示一个星期中的某天。
DAY_OF_YEAR get 和 set 的字段数字,指示当前年中的天数
WEEK_OF_MONTH get 和 set 的字段数字,指示当前月中的星期数。
WEEK_OF_YEAR get 和 set 的字段数字,指示当前年中的星期数
....
常用的方法:
getInstance():获取日历的实例
get(int field):获取日历中指定日期部分
set(int field,int value):设置日历中的指定部分
add(int field,int value):增加日期中的指定部分
getActualMaximum(int field) 给定此 Calendar 的时间值,返回指定日历字段可能拥有的最大值。
Math和Random类
Math类用于算术计算
abs(..):计算绝对值
floor()
round()
pow(...)
sqrt()
Randrom类用于生产随机数
nextInt(int seed)生成指定范围的随机数
枚举
枚举是从JDK1.5之后新增的特性, 枚举本质上也是一个类,在枚举中定义值都是常量,默认的修饰符public static final
如何定义枚举
修饰符 enum 枚举名{
值1,值2....;
}