Java API (上)

java.lang.Math类

包含用于执行基本数字运算的方法。

方法名 描述
abs(num) 返回绝对值
ceil(num) 求大于num的最小整数
floor(num) 求小于num的最大整数
round(decimal) 返回小数四舍五入后的结果
random() 生成大于0.0小于1.0的随机值

备注:

  • decimal:包含float类型和double类型。
  • num:包含int、long、float、double 四种类型。
  • 写在lang包中的类,无需导包、直接通过"类名.方法名"调用。

java.util.Arrays类

包含用于操作数组的各种方法。

方法名 描述
toString(array) 返回数组转为方便输出的字符串类型
binarySearch​(array, num) 返回二分查找array中元素对应num的下标
sort(array) 返回升序排序后的array
copyOf(array,length) 返回扩容后长度为length的array

备注:

  • array:包含int、double、float、long等类型的数组,详情见jdk11API
  • num:包含char、int、double、float、long、byte、short、char 7中类型的数据。
  • 非lang包中的类,需导包后才能通过"类名.方法名"调用。

java.math.BigDecimal

使用double、float进行小数运算会有误差,为此,Java提供BigDecimal类用于精确计算。

使用BigDecimal不能直接运算,需要创建多个对象、使用内置的方法进行运算。
案例如下:

        BigDecimal bd1 = new BigDecimal("0.1");
        BigDecimal bd2 = new BigDecimal("0.2");
        BigDecimal bd3 = bd1.add(bd2);
        System.out.println("bd1="+bd1+",bd2="+bd2+",bd3="+bd3);
        
        //将BigDecimal对象转为Double类型
        double d = bd3.doubleValue();

运行结果如下:

bd1=0.1,bd2=0.2,bd3=0.3

备注:

  • 构造方法传入的参数是String类型

java.util.Date

该类中有很多方法已过时,目前适用于创建用于格式化的、当前日期的对象。

方法名 描述
long getTime() 返回格林乔治时间到现在时间的毫秒数

案例如下:

        //创建当前日期的对象
        Date date = new Date();
        
        //返回格林乔治时间到现在时间的毫秒数
        long time = date.getTime();

java.text.DateFormat

抽象类,常用它的子类对象自定义日期的格式化。

通常需要创建它的子类SimpleDateFormat对象进行实例化,在其构造方法中传入日期格式,格式对应字母含义如下:

字母 含义
y
M
d
h
m
s

DateFormat常用方法如下:

方法 描述
String format(Date date) 返回将Date对象转为对应格式的日期字符串
Date parse(String str) 返回根据日期字符串转换的Date对象
案例如下:
        //创建Date对象
        Date date = new Date();

        //创建SimpleDateFormat对象,传入日期格式模板
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

        //将Date对象传入SimpleDateFormat对象的format方法,返回符合日期格式模板的字符串
        String format = sdf.format(date);

        System.out.println(format);

        //使用parse方法将符合日期模板的日期字符串传入,返回Date对象
        Date date2 = sdf.parse("2021-10-10 12:45:26");//需要抛出parseException异常

        //通过format方法将Date对象转为符合日期模板格式的字符串
        System.out.println(sdf.format(date2));

运行结果如下:

2021-10-10 12:53:10
2021-10-10 12:45:26

java.lang.Calendar

是一个抽象类,其子类用于创建日历对象,执行日期操作。

Calendar类常用方法如下:

方法 描述
Date getTime() 返回由Calendar对象转换的Date对象
Calendar getInstance() 返回实例对象
int get(int key) 返回当前对象的对应日期
void set(int key,int value) 设置当前对象的对应日期
void add(int key,int amount) 在当前对象日期基础上添加amount
int getActualMaximum(int key) 返回当前对应key的最大值

Calendar类易错常量如下:

常量 描述
MONTH 月份,从0开始,0即1月
DAY_OF_MONTH 当前日历对象位于该月的第几天
DAY_OF_YEAR 当前日历对象位于该年的第几天
JANUARY 1月
DAY_OF_WEEK 当前日历对象位于一周的第几天,从1开始,1即周日

使用"类名.常量名"即可调用。

案例如下:

        //创建Calendar对象
        Calendar cal = Calendar.getInstance();

        //得到当前年份
        int year = cal.get(Calendar.YEAR);

        //得到当前月份
        int month = cal.get(Calendar.MONTH);

        //得到当前为与星期几
        int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

        //设置当前日份为16
        cal.set(Calendar.DATE,16);

        //获取当前月份最大天数
        int max = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

        //当前日份减少6天
        cal.add(Calendar.DATE,-6);

        //转换为Date对象
        Date date = cal.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String format = sdf.format(date);

        System.out.println("cal对象的日期:"+format);
        System.out.println("cal对象所在月下标:"+month+",cal对象所在月的最大天数:"+max);
        System.out.println("cal对象在星期几的下标:"+dayOfWeek);
        System.out.println("cal对象所在年份"+year+",cal对象日期是所在年份的第几天:"+cal.get(Calendar.DAY_OF_YEAR));

备注:

  • 月份中的0,代表1月,年份、日份中的1就是1。
  • getActualMaximum(DAY_OF_MONTH)获取的是当前日历对象月份的最大天数。
  • 周日在星期中排第一,即1是周日,周六是7。

java.lang.System

提供系统相关的属性和方法,都是静态修饰的。

常量 描述
void exit(int status) 终止运行,参数status表示状态码,非0表示异常终止
void gc() 运行垃圾回收器对垃圾进行回收
long currentTimeMillis() 返回当前时区的时间戳
void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) 原数组src复制到目标数组dest,从指定位置开始到指定位置结束

arraycopy(Object src,int srcPos,Object dest,int destPos,int length)方法备注:

  • src:表示源数组。
  • dest:表示目标数组。
  • srcPos:表示原数组中拷贝元素的起始位置。
  • destPos:表示拷贝到目标数组的起始位置。
  • length:表示拷贝元素个数。

重点对arraycopy进行演示:

        int[] arr1 = {11,12,13,14,15,16,17};
        int[] arr2 = {21,22,23,24,25,26,27};
        System.arraycopy(arr1,2,arr2,3,4);
        System.out.println(Arrays.toString(arr2));

运行结果如下:

[21, 22, 23, 13, 14, 15, 16]
posted on 2021-10-10 21:55  技术小伙伴  阅读(12)  评论(0)    收藏  举报