以下内容引用自http://wiki.jikexueyuan.com/project/java/numbers.html

通常情况下,当处理数字时,使用原始数据类型,如byte,int,long,double等。

示例:

int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;

然而,在开发中,会遇到需要使用对象而不是原始数据类型的情况。为了实现这个,Java为每个原始数据类型提供包装类。

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

这种包装是由编译器处理,这个过程称为装箱。因此,当一个原始数据类型被使用,当需要一个对象时,编译器将原始数据放入其包装类。同样地,编译器也能将对象取出返回到原始数据类型。Number是java.lang包的一部分。

这里是装箱和拆箱的一个例子:

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);
}
}
//这将产生以下结果:
15

当x被分配整数值,则编译器将整数放入箱中,因为x为整数对象。然后,x被拆箱,以便它们可以被添加为整数。

Number方法

以下是对Number类实现的所有子类中实现的实例方法的列表:

方法 描述
xxxValue() 这个Number对象的值转换为XXX的数据类型并返回
compareTo()  把这个Number对象与参数做比较
equals()  确定这个数字对象是否等于参数
valueOf()  返回一个Integer对象持有指定的原始值
toString()  返回表示指定的int或整数的值的String对象
parseInt()  此方法用于获取某个字符串的原始数据类型
abs()  返回参数的绝对值
ceil()  返回的最小整数大于或等于该参数。返回为double
floor()  返回的最大整数小于或等于该参数。返回为double
rint()  返回的整数,它是最接近值该参数值。返回为double
round()  返回最接近的long或者int,通过该方法的返回类型所指参数
min()  返回两个参数中较小的
max()  返回两个参数中较大的
exp()  返回自然对数的底数e,该参数的幂值
log()  返回参数的自然对数
pow()  返回第一个参数的提高至第二个参数的幂值
sqrt()  返回参数的平方根
sin()  返回指定的double值的正弦值
cos()  返回指定的double值的余弦值
tan()  返回指定的double值的正切值
asin() 返回指定的double值的反正弦
acos()  返回指定的double值的反余弦值
atan()  返回指定的double值的反正切值
atan2()  将直角坐标(x,y)转换为极坐标(r,θ)并返回θ
toDegrees()  将参数转换为度
toRadians()  将参数转换为弧度
random()  返回一个随机数

测试工程:https://github.com/easonjim/5_java_example/tree/master/javabasicstest/test7

Java中的数字的更多相关文章

  1. JAVA中的数字运算+号与字符串+号

    (1)当“+”两边是非数值类型,“+”就被看作连接符. (2)当“+”两边都是数值类型,“+”就被看作算术运算中的加号. (3)当“+”一边是非数值,一边是数值类型,“+”就被看作连接符.

  2. Java中在数字前自动补零方法

    /** * 数字前面自动补零 * @param number 数字 * @return */ public static String geFourNumber(int number){ Number ...

  3. oralce不像Java,java中字符串+数字,能够得到结果字符串

    oracle得到的两个字段进行相加,要求都是number类型的,如果两个是字符串会自动转成number类型(前提是能够转) select a+b from (select '1' a,'2' b fr ...

  4. 解决java中按照数字大小来排序文件

    我们想要输出(1.jpg.2.jpg.3.jpg.10.jpg.11.jpg.20.jpg.21.jpg.31.jpg) 突然看到网上一些写法 总结:既然自己按照定义的文件名规则来处理,也可以进行使用 ...

  5. Java中过滤出字母、数字和中文的正则表达式

    1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...

  6. AJPFX总结关于Java中过滤出字母、数字和中文的正则表达式

    1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式      [^(A-Za-z)] (2) 过滤出 数字 的正则表达式   [^(0-9)] (3) 过滤出 中文 的正则 ...

  7. Java中的数是用补码表示的检验

    一.基本介绍(关于下列五个定义来自http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html#!comments,谢原 ...

  8. java中封装类(二)

    java中的数字类型包括 Byte,Short,Integer,Long,Float,Double.其中前四个是整数,后两个是浮点数. 在说java中数字类型之前先来看看它们统一的基类Number. ...

  9. java中变量使用的总结

    java中整数默认为int,小数默认为double. float n5=1.3; 这个句子就会报错,应该修改成这样float n5=1.3f; 八大基本类型 变量类型 位数 范围 备注 Byte 8位 ...

随机推荐

  1. Linux/Windows 实用工具简记

    以下只是开发中可能用的比较多的工具,另外还有其他很多未曾提及的实用工具.Linux篇: 1.链接过程的调试:主要用于查看构建过程:如链接时加载的动态库以及运行时加载动态库过程的调试 支持LD_DEBU ...

  2. sql地址寻路算法(省市区路)

    最近无意翻开4年前做过的一个功能,就是搜集全国各城市各个区(县)的路(XX路.XX道.XX街.XX镇.XX乡.XX屯.XX村.XX社).众所周知,我们都可以在网上找到省.市.区(县)这三级联动的数据, ...

  3. VC++绘制金刚石(MFC)

    void CTxx1View::OnDraw(CDC* pDC){ CTxx1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add d ...

  4. 什么是python 中的顶层代码?

    在python语言中我们经常会听到顶层代码的说法,但是什么是顶层代码? 在python中,我们是以缩进来区分代码层次的,所以顶层代码指的是缩进为0个空格的代码. 看如下例子: PP = 3.14 de ...

  5. pycharm 用远程环境时报错bash: line 0: cd: /home/tmp: No such file or directory

    delete redundant path

  6. sql中group by

    某图书馆收藏有书籍具有不同的出版年份,管理员需要做一下统计工作: (1)每一年书籍的数目,如: 2000年有10本书, 2001年有5本书... (2)每一种书籍的数目,如: 西游记有10本, 三国演 ...

  7. 安装Windows10+Ubentu18双系统

    1.先安装Windows系统,安装完成后,使用磁盘管理工具划分出一定的freespace空间留给linux安装系统用. 2.使用Universal-USB-Installer制作ubentu启动U盘. ...

  8. KNN算法原理及实现

    1.KNN算法概述 kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性.该方法在确定分类决策上只依据最邻近的一 ...

  9. 单点登录-CAS

    使用插件 phpCAS ,插件链接:https://github.com/apereo/phpCAS 1. CAS 单点登录流程及插件的API的简介 图片链接来源于wiki:https://wiki. ...

  10. BeautifulSoup与aiohttp的简单应用-爬取《网上中华五千年》音频

    香港电台的节目素质都比较不错,其中有个<中华五千年>的节目是以情景剧与旁白的形式来展示历史故事,由传说时代一直到民国,1983年首播至2000年,非常长寿的一个节目.网上能找到版本声音非常 ...