您的位置:

java基础知识之大数值,Java数据类型及最大值

本文目录一览:

JAVA 大数值问题

public static void main(String[] args) {

//int的最大数值是2的31次方减1,如果在最大值上继续增加则会从最小值开始,循环下去。

//BigInteger没有最大值,但计算并不是很方便需要使用里面定义的各种方法才可以。

Integer i = new Integer(2147483647);

BigInteger bi = new BigInteger("2147483647");

System.out.println(i+1);

System.out.println(bi.add(BigInteger.ONE));

}

java中如何对较大的数字进行计算

在Java中针对比较大的数字,有大数类型来进行表示。即BigInteger和BigDecimal两个类。

以BigDecimal为例:

BigDecimal bigDecimalA = new BigDecimal("1234567890123456789012345678901");

BigDecimal bigDecimalB = new BigDecimal("1234567890123456789012345678902");

// 加 +

bigDecimalA = bigDecimalA.add(bigDecimalB);

// 减 -

bigDecimalA = bigDecimalA.subtract(bigDecimalB);

// 乘 *

bigDecimalA = bigDecimalA.multiply(bigDecimalB);

// 除 /

bigDecimalA = bigDecimalA.divide(bigDecimalB);

// ......其他的类似,API里很详细,不再赘述了。

java程序 大数值的问题讲解

import java.math.*;

import java.util.*;

这两行是调用API文档中现有的类,其实全称可以按如下的方式写:

import java.math.BigInteger;

import java.util.Scanner;

因为你调用的 BigInteger和Scanner方法是从上面的math和util包中调用的,所以必须指明,否则就会出错。

Scanner in = new Scanner(System.in);

这个是一个要你输入的语句。

在API文档中说明如下:

Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。

例如,以下代码使用户能够从 System.in 中读取一个数:

Scanner sc = new Scanner(System.in);

int i = sc.nextInt();

再看一个例子,以下代码使 long 类型可以通过 myNumbers 文件中的项分配:

Scanner sc = new Scanner(new File("myNumbers"));

while (sc.hasNextLong()) {

long aLong = sc.nextLong();

}

对于

BigInteger lotteryOdds = BigInteger.valueOf(1);

中的valueOf()方法,这个也是API文档中的,方法如下:

valueOf

public static BigInteger valueOf(long val)返回其值等于指定 long 的值的 BigInteger。提供的此“静态工厂方法”优先于 (long) 构造方法,因为前者允许重用经常使用的 BigInteger。

参数:

val - 要返回的 BigInteger 的值。

返回:

具有指定值的 BigInteger。

-----------------------------------------

以上就是这个程序的关键点,其实没有什么知识点,就是查询java的API文档。

你应该是初学者吧,因为感觉还不会用文档。那你就到网上搜索API文档,有中文和英文的,你下载后就慢慢学习使用,大约40多M。

API文档是你学习java和以后java开发的必需具备的文档。给你举个例子,就你上面的程序,对于BigInteger类和valueOf()这个方法,我开始根本就不知道,但你在了解文档后你就会使用了。在你编程的时候,你需要数学方法,那就一定得去

java.math的包中查找,然后看每个类,这样你就知道用哪个方法了。

记住:没有谁能把API文档中的方法都记住,而且也没有意义去记住。API文档就相当于字典。