JavaAPI(Math,Random,Date,Calendar,SimpleDateFormat,BigInteger,BigDecimal)

本文详细介绍了Java编程中的Math类、Random类、Date/Calendar/DateFormat类以及BigInteger和BigDecimal类的使用方法,包括数学运算、随机数生成、日期时间处理和高精度数值计算等内容。
摘要由CSDN通过智能技术生成

目录

一.Math类

二.Random类

1.Random类概述

2.使用

三.Date类/Calendar类/ SimpleDateFormat类

1.Date类

2.Calendar类

概述

使用

3.SimpleDateFormat 日期格式化类

构造方法

使用

四.BigInteger

概述

五.BigDecimal

1.概述

2.使用


一.Math类

abs 绝对值

sqrt 平方根

pow(double a, double b) a的b次幂

max(double a, double b)

min(double a, double b)

random() 返回 0.0 到 1.0 的随机数

long round(double a) double型的数据a转换为long型(四舍五入)

        System.out.println(Math.PI);
        System.out.println(Math.abs(-3));//绝对值
        System.out.println(Math.sqrt(9));//开平方
        System.out.println(Math.pow(2,3));//n的m次方


        System.out.println(Math.floor(9.9));//9,向下取值
        System.out.println(Math.ceil(9.1));//10,向上取值
        System.out.println(Math.rint(9.5));//四舍五入

        System.out.println(Math.max(5,6));//取最大值
        System.out.println(Math.random());//返回 0.0 到 1.0 的随机数

二.Random类

1.Random类概述

此类用于产生随机数

2.使用

构造方法

public Random()

成员方法

public int nextInt()

public int nextInt(int n)

        Random random = new Random();
        System.out.println(random.nextBoolean());//随机出一个boolean类型
        System.out.println(random.nextInt());
        System.out.println(random.nextLong());
        System.out.println(random.nextInt(5)+1);//取值为0---i-1之间

        byte[]bytes = new byte[5];
        random.nextBytes(bytes);    //随机取出数组长度哥byte类型的函数
        System.out.println(Arrays.toString(bytes));

三.Date类/Calendar类/ SimpleDateFormat类

1.Date类

使用Date类代表当前系统时间

Date d = new Date();

Date d = new Date(long d)


        Date date = new Date(); //获取程序运行时的时间
        System.out.println(date);

        System.out.println(date.getTime());
        /*
            方法上有删除线,表示方法已弃用,有新的类代替,但是也可使用
         */

        System.out.println(date.getDate());
        System.out.println(date.getDay());
        System.out.println(date.getYear());

2.Calendar类

概述

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建

对象的过程对程序员来说是透明的,只需要使用getInstance方法创建

即可

使用

        Calendar calendar = Calendar.getInstance(); //GregorianCalendar
        System.out.println(calendar);
        //calendar.set(2024,3,11);
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH)+1);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); // 月的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //周的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); //年的第几天
        System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); //年的第几周

        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println(calendar.getTimeInMillis());//1970年0.00到今的毫秒值
        System.out.println(calendar.getTimeInMillis());

3.SimpleDateFormat 日期格式化类

构造方法

SimpleDateFormat(格式); // yyyy-MM-dd

使用

● 日期转字符串

Date now=new Date();

myFmt.format(now);

● 字符串转日期

myFmt.parse(“2018-02-10”);

字符串日期格式与 指定格式必须一致

例如:String s =

“2018-03-15”;

new SimpleDateFormat(“yyyy-MM-dd”)


        /*
            把字符串日期转为Date对象
         */
        String s  = "2022-2-3";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
        Date date = sdf.parse(s);
        System.out.println(date.getYear()+1900);
        /*
            把日期对象   转为  指定格式的字符串
         */
        Date date1 = new Date();
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String s1 = sdf1.format(date1);
        System.out.println(s1.toString());
        System.out.println(sdf1.format(date1));

四.BigInteger

概述

● 在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。

● 我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的

整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。

● BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意

精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而

不会丢失任何信息。

● BigInteger类位于java.math包中

● 构造方法

BigInteger(String val) /BigInteger(byte[] val) ... 基本运算方法

add(),subtract(),multiply(),divide()

五.BigDecimal

1.概述

● 在计算机中float 还是double都是浮点数,而计算机是二进制的,浮点数会失

去一定的精确度。

● 根本原因是:十进制浮点值没有完全相同的二进制表示形式;十进制浮点值的二进

制表示形式不精确,只能无限接近于那个值. System.out.println((0.1 + 0.2)==0.3);//结果是?

但是,在项目中,我们不可能让这种情况出现,特别是金融项目,因为涉及金

额的计算都必须十分精确

2.使用

• Java在java.math包中提供的API类BigDecimal

• 构造方法

BigDecimal(String val)

基本运算方法

add(),subtract(),multiply(),divide()

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值