Java类库概述
包名以java开始的包是核心包
包名以javax开始的包是扩展包
数字相关类
整数——int,short,long
浮点数——float,double
大数——BigInteger,BigDecimal
BigInteger不支持+,需要用数.add(数)
尽量用字符串对BigDecimal赋值
BigDecimal需要注意截断,避免无限循环
随机数——Random
nextInt()//返回一个随机int
nextInt(int a)//返回一个[0,a)之间的随机int
nextDouble()//返回一个[0.0,1.0]之间double
ints方法批量返回随机数数组
工具类——java.lang.Math
绝对值abs
对数log
比较函数max,min
幂函数pow
四舍五入函数round
向下取整floor
向上取整ceil
字符串相关类
Java中使用频率最高
不可变对象,加减操作性能较差
charAt//返回元素
concat//连接一个新字符串并返回,函数不变
contains//判断是否包含
endsWith//判断是否以……结尾
equals//判断是否等于
equalsIgnoreCase//判断在忽略大小写情况下是否等于
hashCode//
indexOf//返回第一个位置
length//返回长度
matches
replace//把原始字符串替换掉
replaceAll//正则表达式的替换
split//按照**分割成组
startsWith
subString//截取某部分元素
trim//返回去除前后空格后的字符串
valueOf
可变字符串
StringBuffer
StringBuilder
append添加
insert插入
delete删除
replace替换
substring截取
length长度
capacity空间大小
trimToSize去除空隙
StringBuffer中,length如果大于capacity,capacity便在前一次基础上(+1)*2
时间相关类
java.util.Date(已废弃)
java.sql.Date(和数据库对应的时间类)
Calendar(最常用,抽象类)
calendar gc = Calendar.getInstance();
Calendar gc = new GregorianCalendar();
简单工厂模式
get(Field) //获取事件中每个属性的值,但月份是0-11,故需要+1
getTime() //返回相应的date对象
getTimeInMillis() //返回自1970.1.1以来的毫秒数
set(Field) //设置时间字段
add(field,amount) //根据指定字段增加/减少时间
roll(field,amount) //根据指定字段增加/减少时间,但不影响上一级的时间段
java8时间包
java.time 新的java日期/时间API的基础包
java.time.chrono 为非ISO的日历系统定义了一些泛化的API
java.time.format 格式化和解析日期时间对象的类
java.time.temporal 包含一些时态对象,可以用其找出关于日期/时间对象的某个特定日期或时间
java.time.zone 包含支持不同时区以及相关规定的类
java8 java.time包主要类
- LocalDate:日期类
- LocalTime:时间类
- LocalDateTime: LocalDate + LocalTime
- Instant: 时间戳
格式化相关类
java.text包java.text.Format的子类
NumberFormat:数字格式化,抽象类
*DecimalFormat*
MessageFormat:字符串格式化
DateFormat:日期/时间格式化,抽象类
*SimpleDateFormat*
java.time.format
DateTimeFormatter
NumberFormat:数字格式化,抽象类
-DecimalFormat 工厂模式
如:将1234567格式化输出为1,234,567
new DecimalFormat("#.00");
new DecimalFormat("0.00");
//#可以省略,0不可以省略
new DecimalFormat("0.00");
new DecimalFormat("0.##");
//##能省则省
MessageFormat:字符串格式化
支持多个参数-值对位复制文本
支持变量的自定义格式
例如将“Hello{1}"根据变量值格式化为Hello World
String message = "{0}{1}{2}{3}";
Object[] array = new Obeject[]{"A","B","C","D"}
String value = MessageFormat.format(message,array);
DateFormat:时间格式化,抽象类
SimpleDateFormat 工厂模式
parse:将字符串格式化为时间对象
format:将时间对象格式化为字符串
java.time.format.DateFormatter:时间格式化
ofPattern: 设定时间格式
parse: 将字符串格式化为时间对象
format:将时间对象格式化为字符串