Java中的数字
以下内容引用自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中的数字的更多相关文章
- JAVA中的数字运算+号与字符串+号
(1)当“+”两边是非数值类型,“+”就被看作连接符. (2)当“+”两边都是数值类型,“+”就被看作算术运算中的加号. (3)当“+”一边是非数值,一边是数值类型,“+”就被看作连接符.
- Java中在数字前自动补零方法
/** * 数字前面自动补零 * @param number 数字 * @return */ public static String geFourNumber(int number){ Number ...
- oralce不像Java,java中字符串+数字,能够得到结果字符串
oracle得到的两个字段进行相加,要求都是number类型的,如果两个是字符串会自动转成number类型(前提是能够转) select a+b from (select '1' a,'2' b fr ...
- 解决java中按照数字大小来排序文件
我们想要输出(1.jpg.2.jpg.3.jpg.10.jpg.11.jpg.20.jpg.21.jpg.31.jpg) 突然看到网上一些写法 总结:既然自己按照定义的文件名规则来处理,也可以进行使用 ...
- Java中过滤出字母、数字和中文的正则表达式
1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...
- AJPFX总结关于Java中过滤出字母、数字和中文的正则表达式
1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2) 过滤出 数字 的正则表达式 [^(0-9)] (3) 过滤出 中文 的正则 ...
- Java中的数是用补码表示的检验
一.基本介绍(关于下列五个定义来自http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html#!comments,谢原 ...
- java中封装类(二)
java中的数字类型包括 Byte,Short,Integer,Long,Float,Double.其中前四个是整数,后两个是浮点数. 在说java中数字类型之前先来看看它们统一的基类Number. ...
- java中变量使用的总结
java中整数默认为int,小数默认为double. float n5=1.3; 这个句子就会报错,应该修改成这样float n5=1.3f; 八大基本类型 变量类型 位数 范围 备注 Byte 8位 ...
随机推荐
- uva1352 Colored Cubes LA3401
白书第一章例题8 好麻烦! 正方体每面编号为0-5,那么根据顶点和正面,就能确定形态.一共6*4=24种形态. P[i]表示编号i所在位置.比如P[1]=3,表示第二面转到了第四面. 就可以表示出所有 ...
- Redux 和 mobx的区别
Redux: Redux将数据保存在单一store中,Mobx将数据保存在分散的多个store中 Redux需要手动处理变化后的操作,Mobx使用observable保存数据,数据变化后自动处理响应的 ...
- 【简●解】[ZJOI2005]午餐
[简●解][ZJOI2005]午餐 [关键词] \(DP\) 排序/贪心 [分析] 首先,一个很明显的贪心思路,就是吃的慢的人先打饭.所以把数据按吃饭时间从大到小排一遍序. 根据\(dp\)的尿性,比 ...
- Thinkphp框架图片上传实例
https://www.cnblogs.com/wupeiky/p/5802191.html [原文转载自:https://www.cnblogs.com/guoyachao/p/628286 ...
- 3. 对系统表空间使用Raw磁盘分区
3. 对系统表空间使用Raw磁盘分区 可以将raw磁盘分区用作InnoDB系统表空间中的数据文件.此技术可在Windows和某些Linux和Unix系统上启用非缓冲I/O,而无需文件系统开销.使用和不 ...
- LINUX:关于Redis集群的节点分配
文章来源:http://www.cnblogs.com/hello-tl/p/7808268.html 根据上述 Redis集群搭建:http://www.cnblogs.com/hello-tl/ ...
- jquery validate基本
http://www.runoob.com/jquery/jquery-plugin-validate.html jquery validate 默认 在键盘按下并释放及提交后验证提交表单 例如: $ ...
- 访问变量的每个字节内容(c语言)
#include <stdio.h> #define fun(x) for(int fun_i = 0; fun_i < sizeof(x); fun_i++){printf(&qu ...
- .NET Core使用EPPlus简单操作Excel(简单实现导入导出)
1.前言 EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office,它的一个缺 ...
- 深刻理解下js的prototype
参考 http://aralejs.org/class/docs/competitors.html, http://www.iteye.com/topic/248933,http://www.cnbl ...