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位 ...
随机推荐
- Linux Mini 安装 VMware Tools
1.挂载VMware Tools光盘 mount -t iso9660 /dev/cdrom /opt/ 2.安装依赖,安装Tools 将文件复制至 tmp目录解压VMwareTools-10.0.6 ...
- (转)编码剖析Spring装配基本属性的原理
http://blog.csdn.net/yerenyuan_pku/article/details/52856465 上回我们已经讲到了Spring依赖注入的第一种方式,现在我们来详解第二种方式,须 ...
- docker的网络配置
Docker的4种网络模式 我们在使用docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: host模式:使用–net=host指定. c ...
- flask_SQLAlchemy 中常用的过滤和执行器
常用的SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定的 ...
- vscode 打开新文件不替换旧文件
设置 "workbench.editor.enablePreview": false
- ssh 带密码私钥 输入密码
$ssh-agent bash $ssh-add -k ~/.ssh/id_rsa Enter passphrase for /home/ubuntu/.ssh/id_rsa: Identity ad ...
- Navicat将表转为模型
右键数据库 -> 逆向数据库到模型
- Luogu P3806 点分治模板1
题意: 给定一棵有n个点的树询问树上距离为k的点对是否存在. 分析: 这个题的询问和点数都不多(但是显然暴力是不太好过的,即使有人暴力过了) 这题应该怎么用点分治呢.显然,一个模板题,我们直接用套路, ...
- poj3537 Crosses ans Crosses
题目描述 题解: 一道非常简单的$SG$函数应用. 对于一个长度求它的$SG$函数,然后判断是否为$0$即可. 代码: #include<cstdio> #include<cstri ...
- [LOJ] 分块九题 3
https://loj.ac/problem/6279 区间修改,区间查询前驱. TLE无数,我觉得这代码最精髓的就是block=1000. 谜一样的1000. 两个启示: 块内可以维护数据结构,比如 ...