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

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实现求解一元n次多项式的方法示例

    Java实现求解一元n次多项式的方法示例 在Java中,可以使用数组来表示一元n次多项式,并利用数学知识计算出多项式的解。下面是Java实现求解一元n次多项式的方法示例。 前置知识 对于一元n次多项式,可以表示为: f(x) = a0 + a1x^1 + a2x^2 + … + an*x^n 其中,a0、a1、a2、…, an是多项式的系数,n是多项…

    Java 2023年5月19日
    00
  • Spring MVC的参数绑定和返回值问题

    Spring MVC的参数绑定和返回值问题 在Spring MVC框架中,控制器的方法是用来处理请求的,而参数绑定和返回值则是掌握Spring MVC的关键所在。在这篇文章中,我们将详细讨论Spring MVC的参数绑定和返回值问题。 参数绑定 Spring MVC框架中的参数绑定是指将HTTP请求中的参数自动地绑定到控制器方法的参数中。具体而言,就是将HT…

    Java 2023年6月15日
    00
  • java base64编码、解码的三种方式总结

    Java Base64编码、解码的三种方式总结 在Java中,Base64编码是一种常见的数据编码方式,用于将二进制数据转换成易于传输和处理的字符串形式。Java中提供了多种方式来实现Base64编码和解码,本文将会总结其中三种方法。 1. 使用Java 8中的Base64类进行编解码 Java 8中引入的Base64类提供了直接进行Base64编解码的方法…

    Java 2023年5月20日
    00
  • java8 如何实现分组计算数量和计算总数

    Java8 提供了很多函数式编程的新特性,其中包括对集合(Collection)的数据处理方式的改进。下面我来介绍一下如何使用 Java8 来实现分组计算数量和计算总数的操作。 分组计算数量 在 Java8 中,我们可以通过 Collectors.groupingBy() 方法来实现对集合进行分组。具体实现方法如下: Map<String, Long&…

    Java 2023年5月26日
    00
  • php UEditor百度编辑器安装与使用方法分享

    PHP UEditor百度编辑器安装与使用方法分享 什么是PHP UEditor百度编辑器? PHP UEditor百度编辑器是一个基于JavaScript的所见即所得富文本编辑器,能够在Web浏览器中编辑HTML文本和其他富媒体,如照片和视频。它是一个轻量级、高度定制的编辑器,非常适合PHP开发人员集成到他们的网站中。 安装PHP UEditor百度编辑器…

    Java 2023年6月15日
    00
  • SpringBoot Bean花式注解方法示例上篇

    “SpringBoot Bean花式注解方法示例上篇”的完整攻略可以分为以下几部分进行讲解: 1. 介绍SpringBoot Bean 首先,介绍一下SpringBoot Bean。在SpringBoot中,Bean是指由Spring容器管理的Java对象。Bean可以通过注解的方式进行配置,并使用@Autowired注解进行依赖注入。SpringBoot的…

    Java 2023年6月3日
    00
  • jsp include文件时的一个乱码解决方法

    当使用JSP引入外部文件时,有可能因为字符编码不一致导致引入的文件出现乱码。下面是一种解决方案。 一、问题描述 当在一个JSP页面中引入一个外部文件时,例如在header.jsp文件中引入了footer.jsp文件: <jsp:include page="footer.jsp" /> 然后我们发现,引入的footer.jsp文…

    Java 2023年6月15日
    00
  • Servlet虚拟路径映射配置详解

    关于”Servlet虚拟路径映射配置详解”的攻略,我将分为以下几个部分: 介绍Servlet虚拟路径的概念 配置Servlet虚拟路径映射的步骤和方法 给出两个示例演示如何配置Servlet虚拟路径映射 1. Servlet虚拟路径的概念 虚拟路径指的是指定在URL中,而不是在磁盘上的路径。对于Servlet来说,在它的URL-pattern中配置的是虚拟路…

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