这次记录几个常用的类,有Arrays、Math和Data这几个。而更新内容也会越来越少,主要是后面的我也不太会….
说一下计划,之后记录内部类,泛型和容器,异常,io,多线程,java基础篇也就完结啦。当然,学编程最重要的是逻辑思维,所以少不了数据结构。为了能成为全栈工程师,前端、数据库、servlet也很重要,共勉吧。也许有人会说少了框架,那东西,只是帮助开发,会用就行。基础才最重要。
Arrays工具类
Arrays类为数组提供一些方法,还有一个单词Array,网上对它的解释为java中最基本的一个存储结构,两者还是不同的。
而Arrays里面的方法基本都是静态方法,所以可以不用new对象,直接使用。下面就介绍Arrays静态类提供常用的方法吧。
方法名 | 说明 |
---|---|
sort(Object) | 顺序排序,实现方法看着是归并排序 |
toString(Object) | 返回数组元素的值 |
length | 返回数组的长度 |
equals(Object) | 比较两个对象的内容是否相等 |
binarySearch(Object, int) | 二分查找该数在数组的位置 |
copyOf(Object, int) | 复制数组的内容从0到int之间 |
copyOfRange(Object, int, int) | 复制数组的内容 |
1 | import java.util.Arrays; //Arrays是外部类,要先引入 |
Math类
数学类,提供很多数学上的计算,所以有很多,这里简要几个说明。
方法名 | 说明 |
---|---|
abs(Long |int |double |float) | 任意负数取正 |
sin(double) | 三角函数的求解,还有其它,这里写一个做示范 |
ceil(double) | 向上取整,类似于把浮点数加1再强制取整 |
floor(double) | 向下取整,类似于把double强制转换为int型 |
sqrt(double) | 开方 √double |
pow(double,double) | 求几次方,两者都是double,所以求整数的次方,可能会有精度问题,建议手写整数的次方 |
random(double) | 求[0,1)之间的伪随机数 |
1 | //Math默认在java.lang包,不需要导入包名 |
在Math类里还有一个类,那就是BigDecimal类,进行大数运算,你可以输入超过long和double数据范围,所以它的精度也挺高,也经常用于浮点数的加减问题。
1 | import java.math.BigDecimal; //Math.BigDecimal类里 |
可以看得出来,BigDecimal使用的时候,如果是浮点型,一定要写成字符串的形式,否则,还是可能会出现精度问题。
Date
Date类在以前是一个很强的类,所以就被削弱了,很多方法都给了Calendar类。下面这是它的使用方法。
1 | import java.util.Date; |
Calendar
Calendar则替代了Date类废弃的方法,但,首先,我们先认识时间在java的字段表示。
YEAR | MONTH | WEEK_OF_YEAR | WEEK_OF_MONTH | DATE | DAY_OF_MONTH | DAY_OF_YEAR |
---|---|---|---|---|---|---|
年 | 月 | 本年的周数 | 本月的周数 | 本月的日期 | 本月的日期 | 本年的日数 |
DAY_OF_WEEK | AM_PM | HOUR | HOUR_OF_DAY | MINUTE | SECOND | MILLISECOND |
星期几 | 早上_下午 | 小时(12小时制) | 小时(24小时制) | 分钟 | 秒钟 | 毫秒 |
SUNDAY | MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY |
星期天 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 |
JANUARY | FEBRUARY | MARCH | APRIL | MAY | JUNE | JULY |
一月 | 二月 | 三月 | 四月 | 五月 | 六月 | 七月 |
AUGUST | SEPTEMBER | OCTOBER | NOVEMBER | DECEMBER | AM | PM |
八月 | 九月 | 十月 | 十一月 | 十二月 | 上午 | 下午 |
下面是日期的获取。
1 | import java.util.Calendar; //Calendar也是外部类 |
下面是设置时间。
我们也要先认识日期在SimpleDateFormat类的表示格式。
y | M | w | W | D | d | H | k | K | h |
---|---|---|---|---|---|---|---|---|---|
年 | 本年的月份 | 本年的周数 | 本月的周数 | 本年的天数 | 本月的天数 | 小时[0,23] | 小时[1,24] | 小时[0,11] | 小时[1,12] |
m | s | S | a | F | E | ||||
分钟 | 秒 | 毫秒 | AM/PM | 本月的周数 | 星期几 |
个数只是表示占的位置,比如1999年,用yyyy表示1999,yy表示99。
1 | import java.text.ParseException; |