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位 ...
随机推荐
- 51nod 1031 骨牌覆盖
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 在2*N的一个长方形方格中,用一个1*2的骨牌排满方格. 问有多少种不同的排列方法. 例如: ...
- Graveyard LA3708
白书第一章例题4 思维. 先固定一点不动,假设最后一共N个点,那么编号为0,1,...N-1, 0不动,原来的n个点分别占据i/n*N的位置(记为pos),移动到pos四舍五入的位置即可. 证明一:有 ...
- react 的CDN 连接
以下内容均摘抄自react官网 React 和 ReactDOM 都可以在 CDN 上获得. <script crossorigin src="https://unpkg.com/re ...
- Spring Data Redis入门示例:字符串操作(六)
Spring Data Redis对字符串的操作,封装在了ValueOperations和BoundValueOperations中,在集成好了SPD之后,在需要的地方引入: // 注入模板操作实例 ...
- 理解 Word2Vec 之 Skip-Gram 模型
理解 Word2Vec 之 Skip-Gram 模型 天雨粟 模型师傅 / 果粉 https://zhuanlan.zhihu.com/p/27234078 508 人赞同了该文章 注明:我发现知乎有 ...
- JS提前声明和定义方式
来源:JS的函数定义方式以及对声明的提前 以下代码,声明语句会被提前到当前作用域(全局作用域和函数作用域)的顶部.但赋值语句不会提前,依然留在原地 var x = function(){}; var ...
- ruby on rails全局布局,局部视图,局部布局
参考链接:http://guides.ruby-china.org/layouts_and_rendering.html#%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90%E6 ...
- 跟http相关的
http http 中 请求: 请求行 请求方式 采用协议 版本号 网址 请求头 客户端可以接受数据类型 可以接受语言 可以接受的压缩格式 请求 ...
- requests 模块笔记
import requests 请求方式: requests.get("https://www.baidu.com") requests.post("http://htt ...
- JSP行为
JSP行为标签使用XML语法结构来控制servlet引擎.它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等.行为标签只有一种语法格式,它严格 ...