Java基础:数字类概念、常用方法、常量

举报
wljslmz 发表于 2022/12/29 10:00:49 2022/12/29
【摘要】 本文主要给大家用于处理数字数据的各种数字类: 数字类Number类作为Java中的一个数值类,是一个超类,有以下8个子类:除了Byte、Short、Integer、Long、Float、Double常用的数字类,我们有必要简单介绍一下BigInteger、BigDecimal。BigInteger 类是一个可以保存不可修改的任意精度(全精度数字)整数的类。BigDecimal 类是一个可以保...

本文主要给大家用于处理数字数据的各种数字类:

数字类

Number类作为Java中的一个数值类,是一个超类,有以下8个子类:

除了Byte、Short、Integer、Long、Float、Double常用的数字类,我们有必要简单介绍一下BigInteger、BigDecimal。

  • BigInteger 类是一个可以保存不可修改的任意精度(全精度数字)整数的类。
  • BigDecimal 类是一个可以保存不可修改的任意精度(全精度数)带符号十进制数的类。

至于为什么有byte、double等基本类型的时候还有numeric类(Byte类、Double类),有些类只能处理引用类型数据。对于这样的类,不是给基本类型变量赋值并使用,而是给数字类对象赋值,或者将基本类型变量转换为数字类对象并使用,这样就成型了。

数字类也有许多转换和比较存储数据的方法,通过使用这些方法,您可以编写更高效的程序。

常用方法

数字类通常提供的主要方法有:

byteValue( )方法到doubleValue( )方法都是将调用对象的值转换为其基本类型的数据值。

compareTo(Object):将调用对象与参数对象进行比较。两种数据类型必须相同。如果两个值相同则返回 0。如果参数对象较大,则返回正整数,如果较小,则返回负整数。

equals(Object):比较调用对象和参数对象的值是否相等,如果它们相等则返回真。

我们每个写个例子:

1、byteValue( ):
Integer a = 270;
byte b = a.byteValue();
System.out.println("Byte value of integer " + a + " = " + b);

执行结果:

Byte value of integer 270 = 14
2、shortValue()
Integer integer = 20;
short result = integer.shortValue();
System.out.println("Result of shortValue() = " + result);

执行结果:

Result of shortValue() = 20
3、intValue()
Integer integer = 20;
int result = integer.intValue();
System.out.println("Result of intValue() = " + result);

执行结果:

Result of intValue() = 20
4、longValue()
Integer integer = 20;
long result = integer.longValue();
System.out.println("Result of longValue() = " + result);

执行结果:

Result of longValue() = 20
5、floatValue()
Integer integer = 20;
float result = integer.floatValue();
System.out.println("Result of floatValue() = " + result);

执行结果:

Result of floatValue() = 20.0
6、doubleValue()
Integer integer = 20;
double d = integer.doubleValue();
System.out.println("Result of doubleValue() = "+ d);

执行结果:

Result of doubleValue() = 20.0
7、compareTo()
Integer integer = 7;
Integer anotherInteger = 3;
int result = integer.compareTo(anotherInteger); 
System.out.println("Result of compareTo("+ integer +", "+ anotherInteger +" )"+ " = "+ result);

执行结果:

Result of compareTo(7, 3 ) = 1
8、equals()
Integer integer1 = 20;
Integer integer2 = 20;
boolean result = integer1.equals(integer2);
System.out.println("Result of equals() = " + result);

执行结果:

Result of equals() = true

常量

对于Byte、Short、Integer、Long、Float、Double有常量:

  • MAX_VALUE :最大值
  • MIN_VALUE:最小值

另外,对于Float、Double,还有:

  • NEGATIVE_INFINITY:负无穷大值
  • POSITIVE_INFINITY:正无穷大值

我们通过代码演示一下:

public class MainClass {
  public static void main(String[] argv) {
    System.out.println(Float.MAX_VALUE);
    System.out.println(Double.MAX_VALUE);
    System.out.println(Float.MIN_VALUE);
    System.out.println(Double.MIN_VALUE);
    System.out.println(Float.NEGATIVE_INFINITY);
    System.out.println(Double.POSITIVE_INFINITY);
  }
}

执行结果:

3.4028235E38
1.7976931348623157E308
1.4E-45
4.9E-324
-Infinity
Infinity

总结

本文主要介绍了Java中数字类、常用方法以及常量,还结合了代码进行解释。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。