Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法示例

yizhihongxing

Java BigInteger类

1. 概述

BigInteger类是java.math包中提供的用于表示大整数的类,它可以处理比long类型更大范围的整数。在实际开发中,当需要进行高精度计算时,就会用到BigInteger类。

2. 用法示例

示例1:计算阶乘

以下代码实现了计算1000的阶乘,并输出结果。

import java.math.*;

public class BigIntegerTest {
    public static void main(String[] args) {
        BigInteger result = BigInteger.valueOf(1);
        for (int i = 1; i <= 1000; i++) {
            result = result.multiply(BigInteger.valueOf(i));
        }
        System.out.println("1000的阶乘为:" + result);
    }
}

示例2:判断是否为质数

以下代码实现了判断输入的一个整数是否为质数。

import java.math.*;

public class BigIntegerTest {
    public static void main(String[] args) {
        BigInteger num = BigInteger.valueOf(123456789);
        if (num.isProbablePrime(100)) {
            System.out.println(num + "是质数");
        } else {
            System.out.println(num + "不是质数");
        }
    }
}

Java BigDecimal类

1. 概述

BigDecimal类是java.math包中提供的用于表示高精度小数的类,它可以处理比double和float类型更高精度的小数。在实际开发中,当需要进行高精度小数运算时,就会用到BigDecimal类。

2. 用法示例

示例1:计算Pi

以下代码实现了计算π的值,并输出结果。

import java.math.*;

public class BigDecimalTest {
    public static void main(String[] args) {
        MathContext mc = new MathContext(100);
        BigDecimal pi = new BigDecimal(0);
        BigDecimal t = new BigDecimal(1);
        int k = 0;
        while (true) {
            BigDecimal r = new BigDecimal(2 * k + 1);
            BigDecimal s = new BigDecimal(-1);
            if (k % 2 == 0) {
                s = new BigDecimal(1);
            }
            BigDecimal u = new BigDecimal(1);
            for (int i = 1; i <= k; i++) {
                u = u.multiply(new BigDecimal(i));
            }
            pi = pi.add(s.multiply(t.multiply(r.divide(u, mc))));
            t = t.multiply(new BigDecimal(2));
            k++;
            if (r.divide(u, mc).compareTo(new BigDecimal("1E-100")) == -1) {
                break;
            }
        }
        System.out.println("π的值为:" + pi);
    }
}

示例2:高精度除法

以下代码实现了高精度除法,输入a和b两个数,输出a/b的结果。

import java.math.*;

public class BigDecimalTest {
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("12345678901234567890.123456789");
        BigDecimal b = new BigDecimal("9876543210.987654321");
        MathContext mc = new MathContext(100);
        BigDecimal c = a.divide(b, mc);
        System.out.println(a+" / "+b+" = "+c);
    }
}

Java Date类

1. 概述

Date类是java.util包中提供的用于表示日期和时间的类。在实际开发中,我们需要处理各种时间日期相关的操作,使用Date类可以对时间日期进行统一的处理。

2. 用法示例

示例1:获取当前日期时间

以下代码实现了获取当前的日期时间,并输出结果。

import java.util.*;

public class DateTest {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println("当前日期时间为:" + now);
    }
}

示例2:计算两个日期之间的天数

以下代码实现了计算2019年2月1日和2022年7月30日之间的天数。

import java.util.*;
import java.text.*;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date start = sdf.parse("2019-02-01");
        Date end = sdf.parse("2022-07-30");
        long days = (end.getTime() - start.getTime()) / (1000 * 3600 * 24);
        System.out.println("2019年2月1日和2022年7月30日之间相差" + days + "天");
    }
}

Java DateFormat类

1. 概述

DateFormat类是java.text包中提供的用于格式化日期时间的类。在实际开发中,需要对日期时间进行格式化,以便更好的呈现。

2. 用法示例

示例1:日期时间格式化

以下代码实现了将日期时间对象格式化为指定的字符串。

import java.util.*;
import java.text.*;

public class DateFormatTest {
    public static void main(String[] args) {
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String strDate = sdf.format(now);
        System.out.println("当前日期时间为:" + strDate);
    }
}

示例2:字符串转为日期时间

以下代码实现了将字符串转为日期时间对象。

import java.util.*;
import java.text.*;

public class DateFormatTest {
    public static void main(String[] args) throws ParseException {
        String strDate = "2022-07-30 20:30:15";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse(strDate);
        System.out.println("字符串" + strDate + "转为日期时间对象为:" + date);
    }
}

Java Calendar类

1. 概述

Calendar类是java.util包中提供的用于表示日历的类。在实际开发中,需要对日期进行运算、比较等操作,使用Calendar类可以方便的对日期进行操作。

2. 用法示例

示例1:计算指定日期的下一天

以下代码实现了计算2022年7月30日的下一天日期,并输出结果。

import java.util.*;

public class CalendarTest {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, 2022);
        calendar.set(Calendar.MONTH, Calendar.JULY);
        calendar.set(Calendar.DAY_OF_MONTH, 30);
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        Date date = calendar.getTime();
        System.out.println("2022年7月30日的下一天日期为:" + date);
    }
}

示例2:计算两日期之间的天数

以下代码实现了计算2019年2月1日和2022年7月30日之间的天数。

import java.util.*;

public class CalendarTest {
    public static void main(String[] args) {
        Calendar start = Calendar.getInstance();
        start.set(Calendar.YEAR, 2019);
        start.set(Calendar.MONTH, Calendar.FEBRUARY);
        start.set(Calendar.DAY_OF_MONTH, 1);

        Calendar end = Calendar.getInstance();
        end.set(Calendar.YEAR, 2022);
        end.set(Calendar.MONTH, Calendar.JULY);
        end.set(Calendar.DAY_OF_MONTH, 30);

        long m = end.getTimeInMillis() - start.getTimeInMillis();
        long days = m / (1000 * 3600 * 24);
        System.out.println("2019年2月1日和2022年7月30日之间相差" + days + "天");
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法示例 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java处理日期的工具类DateUtil

    Java日期处理工具类DateUtil Java中处理日期时间是非常常见的需求,使用Java默认的Date类虽然可以实现,但是其API使用起来不太友好,我们往往需要借助一些工具类来辅助我们处理日期时间。DateUtil是一款常见的日期处理工具类,它封装了很多常用的方法,可以用于日期的计算、格式化、解析等操作,非常方便实用。 导入DateUtil 在使用Dat…

    Java 2023年5月20日
    00
  • java实现工资管理简单程序

    下面就让我来详细讲解“Java实现工资管理简单程序”的完整攻略。 1. 确定需求 首先我们需要确定程序的需求。根据题目的要求,我们需要实现一个工资管理简单程序,这个程序需要实现以下功能: 添加新员工的信息 计算员工工资 查询员工信息 删除员工信息 修改员工信息 基于以上需求,我们可以大致分析出需要用到的Java知识点: 类与对象的概念 静态变量与静态方法的概…

    Java 2023年5月19日
    00
  • 使用sts工具、SpringBoot整合mybatis的详细步骤

    下面是详细步骤: 准备环境 JDK8+ Maven3.0+ SpringBoot2.0+ STS(Spring Tool Suite)/ IntelliJ IDEA 创建SpringBoot项目 使用STS或者IntelliJ IDEA创建一个新的SpringBoot项目,选择Web依赖,根据个人喜好选择模板。 在pom.xml中添加MyBatis依赖: x…

    Java 2023年5月20日
    00
  • Java中怎样处理空指针异常

    Java 中的空指针异常是程序中常见的异常之一,在使用对象之前必须对其进行 null 检查,以避免空指针异常的发生。 本文将详细讲解 Java 中如何处理空指针异常以及具体的处理方法。 1. 空指针异常的产生原因 空指针异常是因为对一个 null 对象调用方法或访问属性时所产生的异常。这种异常通常会在代码中出现空引用时才引起程序崩溃。 以下是一个简单的示例:…

    Java 2023年5月27日
    00
  • 浅谈idea live template高级知识_进阶(给方法,类,js方法添加注释)

    浅谈idea live template高级知识_进阶(给方法,类,js方法添加注释) IDEA中的Live Templates是一个非常方便的功能,可以帮助我们快速地插入常用的代码格式。本文将介绍如何使用Live Templates为方法、类和JS方法添加注释。 为方法添加注释 步骤1:打开Live Templates设置 首先,要打开IDEA的Live …

    Java 2023年6月15日
    00
  • golang实现微信小程序商城后台系统(moshopserver)

    golang实现微信小程序商城后台系统(moshopserver)攻略 1. 介绍 golang实现微信小程序商城后台系统(moshopserver)是一个典型的企业级应用,其涉及了多种技术和框架的使用。其中,moshopserver使用golang语言开发,基于beego框架和MySQL数据库。本文将详细讲解moshopserver的实现流程与步骤。 2.…

    Java 2023年5月23日
    00
  • Springboot中MyBatisplus使用IPage和Page分页的实例代码

    下面是 SpringBoot 中 MyBatisPlus 使用 IPage 和 Page 分页的实例代码完整攻略。 1. 添加 MyBatisPlus 依赖 首先,需要在 pom.xml 文件中添加 MyBatisPlus 依赖: <!– MyBatis-Plus 依赖 –> <dependency> <groupId&gt…

    Java 2023年5月20日
    00
  • 值得收藏的SpringBoot 实用的小技巧

    值得收藏的SpringBoot实用的小技巧 在SpringBoot的开发过程中,有一些实用的小技巧可以提高开发效率,降低代码量和阅读难度。下面列举了一些值得收藏的小技巧。 1. 使用lombok简化实体类的编写 在实体类中,我们通常需要定义常量、属性、getter/setter、toString等方法,这些方法都是重复的代码,使用lombok可以自动生成这些…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部