下面是一个装箱与拆箱的例子:

public class Test{
public static void main(String args[]){
Integer x = 5; // boxes int to an Integer object
x = x+10; // unboxes the Integer to a int
System.out.println(x);
}
}

Java Number类

一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double等。

实例
int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;
然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。

所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。

Number Byte
Integer
Double
Short
Float
Long

这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。

相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。

当x被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。

Number类的成员方法

下面的表中列出的是Number类的方法

xxxValue() 将number对象转换为xxx数据类型的值并返回。
compareTo() 将number对象与参数比较。
equals() 判断number对象是否与参数相等。
valueOf() 返回一个Integer对象指定的内置数据类型
toString() 以字符串形式返回值。
parseInt() 将字符串解析为int类型。
abs() 返回参数的绝对值。
ceil() 对整形变量向左取整,返回类型为double型。
floor() 对整型变量向右取整。返回类型为double类型。
rint() 返回与参数最接近的整数。返回类型为double。
round() 返回一个最接近的int、long型值。
min() 返回两个参数中的最小值。
max() 返回两个参数中的最大值。
exp() 返回自然数底数e的参数次方。
log() 返回参数的自然数底数的对数值。
pow() 返回第一个参数的第二个参数次方。
sqrt() 求参数的算术平方根。
sin() 求指定double类型参数的正弦值。
cos() 求指定double类型参数的余弦值。
tan() 求指定double类型参数的正切值。
asin() 求指定double类型参数的反正弦值
acos() 求指定double类型参数的反余弦值。
atan() 求指定double类型参数的反正切值。
atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
toDegrees() 将参数转化为角度。
toRadians() 将角度转换为弧度。
random() 返回一个随机数。

备注:随笔中内容来源于网上资料整理,仅供参考。

20180711-Java Number类的更多相关文章

  1. Java 9 - Java Number类

    Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 实例 int i = 5000; float gpa = 13.65 ...

  2. Java Number类和Math类

    Java Number类 一般的,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类 ...

  3. Java Number类

    一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 例如: int i = 5000; float gpa = 13.65; byte mask ...

  4. Java Number类(数据类型的包装类)

    Java Number 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 例如: int i = 5000; float gpa = 13.65 ...

  5. Java——Number类

    在平时学习中,当我们需要使用数字的时候,通常使用内置数据类型,如byte,int,long,double等. int i =12; float a = 12.3; 在实际开发中,经常会遇到需要使用对象 ...

  6. Java Number&Math类

    Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 实例 int i = 5000; float gpa = 13.65 ...

  7. Java Number & Math类

    java Number类 Java的内置数据类型有byte.int.long.double等. Java 语言为每一个内置数据类型提供了对应的包装类. int对应的包装类为Integer long对应 ...

  8. Java学习——Number类、Character类

    Number类 在使用数字时,我们通常会使用内置数据类型,如 int a = 9; float b = 3.14 然而在实际开发中,我们经常遇到需要使用对象而不是使用内置数据类型的对象.为了解决这一问 ...

  9. JAVA Number与Math类

    Number类: 当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象: 所有的包装类(Integer.Long.Byte.Double.Flo ...

随机推荐

  1. Week1 - 169.Majority Element

    这周刚开始讲了一点Divide-and-Conquer的算法,于是这周的作业就选择在LeetCode上找分治法相关的题目来做. 169.Majority Element Given an array ...

  2. delphi 语法 点滴总结clientdataset

    clientdataset   记录数 是从1 开始的. self.ClientDataSet5.RecNo   记录数 可以 读写 赋值. 随意改动. 哈哈 很方便.

  3. 【ABAP系列】SAP 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 生产订单完工确认(CO1 ...

  4. 阅读jdk源码的流程(从今天开始要阅读jdk源码)

    1.java.lang 2.java.util 3.java.util.concurrent 4.java.util.concurrent.atomic 5.java.lang.reflect 6.j ...

  5. TensorFlow学习笔记8-深度学习的正则化

    深度学习的正则化 回顾一些基本概念 概念 描述 设计矩阵 数据集在特征向量上的表示 训练误差 学习到的模型与训练集标签之间的误差 泛化误差(测试误差) 学习到的模型与测试集之间的误差 欠拟合 模型的训 ...

  6. jQuery淡入淡出瀑布流效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. CSS-子盒子撑开父盒子,让父盒子的高随内容自适应

    方法一: height:auto!important; height:200px; min-height:200px; ie6并不支持min-height.ie7,opera,火狐没有问题. 方法二: ...

  8. 最好用的 Kafka Json Logger Java客户端,赶紧尝试一下

    最好用的 Kafka Json Logger Java客户端. slf4j4json 最好用的 Kafka Json Logger 库:不尝试一下可惜了! Description 一款为 Kafka ...

  9. 数组去重ES6

    原文链接:https://juejin.im/post/5b17a2c251882513e9059231 1,去除简单类型   //ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ...

  10. 利用tesseract-ocr进行验证码识别

    因为爬虫项目需要模拟登陆,可是有一个网站的登录需要输入验证码.其实这种登录有2种解决方案,一种是利用cookie,一种是识别图片.前者需要人工登录一次,而且有时效限制,故不太现实.后者可以,但是难点是 ...