📜  Java-数字类(1)

📅  最后修改于: 2023-12-03 14:42:20.395000             🧑  作者: Mango

Java-数字类

Java提供了丰富的数字类,包括基本类型和对象类型。本篇文章将介绍Java数字类的基本知识和用法。

基本类型

Java的基本类型包括整型、浮点型和字符型。

整型

Java提供了四种整型:byte、short、int和long。它们的大小分别是8位、16位、32位和64位。

byte b = 127;
short s = 32767;
int i = 2147483647;
long l = 9223372036854775807L;

注意,对于long类型的变量,需要在末尾加上L或l。

浮点型

Java提供了两种浮点型:float和double。它们分别占用32位和64位。

float f = 3.1415926f;
double d = 3.14159265358979323846;

注意,对于float类型的变量,需要在末尾加上f或F。

字符型

Java的字符型是16位的Unicode字符。

char c = 'A';
对象类型

Java提供了很多数字对象类型,包括BigDecimal、BigInteger、Number等。

BigDecimal

BigDecimal是一个不可变的、任意精度的十进制数类。它可以处理非常大和非常小的数值,并且具有高精度和正确的舍入行为。

BigDecimal bd1 = new BigDecimal("1234.5678");
BigDecimal bd2 = new BigDecimal("9876.5432");
BigDecimal bd3 = bd1.add(bd2);

上述代码示例中,bd3的值将是11111.1110。

BigInteger

BigInteger是一个不可变的任意精度整数类。它可以处理非常大的整数。

BigInteger bi1 = new BigInteger("12345678901234567890");
BigInteger bi2 = new BigInteger("98765432109876543210");
BigInteger bi3 = bi1.add(bi2);

上述代码示例中,bi3的值将是111111111011111111100。

Number

Number是一个抽象类,是所有数字类的父类。它提供了转换为基本数据类型的方法,如intValue()、longValue()、floatValue()等。

Number n1 = new Integer(123);
Number n2 = new Double(3.14159);
int i = n1.intValue();
double d = n2.doubleValue();

上述代码示例中,i的值将是123,d的值将是3.14159。

总结

Java的数字类能够满足大部分数字计算的需求。对于需要处理非常大或非常小的数值,可以使用BigDecimal或BigInteger类。对于一般的数字计算,可以使用基本类型或Number对象类型。