java round number,Java Number Math 类
Java 中 int 和 Integer 的区别
1. int 是基本数据类型,int 变量存储的是数值。Integer 是引用类型,实际是一个对象,Integer 存储的是引用对象的地址。
2.
Integer i = new Integer(100);
Integer j = new Integer(100);
System.out.print(i == j); //false
因为 new 生成的是两个对象,其内存地址不同。
3.
int 和 Integer 所占内存比较:
Integer 对象会占用更多的内存。Integer 是一个对象,需要存储对象的元数据。但是 int 是一个原始类型的数据,所以占用的空间更少。
4. 非 new 生成的 Integer 变量与 new Integer() 生成的变量比较,结果为 false。
/**
* 比较非new生成的Integer变量与new生成的Integer变量
*/
public class Test {
public static void main(String[] args) {
Integer i= new Integer(200);
Integer j = 200;
System.out.print(i == j);
//输出:false
}
}
因为非 new 生成的 Integer 变量指向的是 java 常量池中的对象,而 new Integer() 生成的变量指向堆中新建的对象,两者在内存中的地址不同。所以输出为 false。
5. 两个非 new 生成的 Integer 对象进行比较,如果两个变量的值在区间 [-128,127] 之间,比较结果为 true;否则,结果为 false。
/**
* 比较两个非new生成的Integer变量
*/
public class Test {
public static void main(String[] args) {
Integer i1 = 127;
Integer ji = 127;
System.out.println(i1 == ji);//输出:true
Integer i2 = 128;
Integer j2 = 128;
System.out.println(i2 == j2);//输出:false
}
}
java 在编译 Integer i1 = 127 时,会翻译成 Integer i1 = Integer.valueOf(127)。
6. Integer 变量(无论是否是 new 生成的)与 int 变量比较,只要两个变量的值是相等的,结果都为 true。
/**
* 比较Integer变量与int变量
*/
public class Test {
public static void main(String[] args) {
Integer i1 = 200;
Integer i2 = new Integer(200);
int j = 200;
System.out.println(i1 == j);//输出:true
System.out.println(i2 == j);//输出:true
}
}
包装类 Integer 变量在与基本数据类型 int 变量比较时,Integer 会自动拆包装为 int,然后进行比较,实际上就是两个 int 变量进行比较,值相等,所以为 true。
flaming
flaming
248***1347@qq.com2年前 (2018-12-12)
java round number,Java Number Math 类相关推荐
- linux java api_Java常用API、Math类介绍
一.API的概述 API--Application Programing Interface:应用程序编程接口,是java提供的一些预定义的函数: 目的:基于API实现程序的快速编写,只需了解其作用, ...
- java float f1=0.5_Java Math类静态float copySign(float f1,float f2)与示例
数学类float copySign(float f1,float f2)此方法在java.lang包中可用. 此方法用于返回第一个浮点参数以及第二个浮点参数的符号. 这是一个静态方法,因此也可以使用类 ...
- java math四舍五入类,Java中Math类的几个四舍五入方法的区别
JAVA取整以及四舍五入 下面来介绍将小数值舍入为整数的几个方法:Math.ceil().Math.floor()和Math.round(). 这三个方法分别遵循下列舍入规则: Math.ceil() ...
- java中怎样定义实数_Java Math 类中的新功能,第 1 部分: 实数
在这篇由两部分组成的文章中,Elliotte Rusty Harold 与您一起探讨经典 java.lang.Math 类中的"新"功能.第 1 部分主要讨论比较单调的数学函数.第 ...
- 嵌入式软件开发培训笔记——java第五天(API——math/string/集合/日期时间以及java线程)
目录 掌握命令行参数的使用 掌握Math类中常用的方法 掌握String/StringBuffer/StringBuilder的用法 掌握几种常用集合类的用法 掌握日期和时间处理 1.命令行参数 Ja ...
- java number比较大小_JAVA Number与Math类
Number类: 当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象: 所有的包装类(Integer.Long.Byte.Double.Flo ...
- Java 读书笔记 (十一) Number Math 类
所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类Number的子类. 这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译 ...
- java分装_Java ——Number Math 类 装箱 拆箱 代码块
本节重点思维导图 当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等 int a = 5000;float b = 13.65f;byte c = 0x4 ...
- java number string_java基础系列(一):Number,Character和String类及操作
这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String. 1.Number类 在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形.所 ...
- Java,Math类中的ceil、floor和round函数源码解析以及自己重写实现
1. ceil.floor和round的功能 首先,这三个方法都是Math类的静态方法,而且类Math在java.lang包下,所以我们在代码中可以直接调用Math的方法. Math.ceil(dou ...
最新文章
- 2020年Q1微信公众号文章列表
- mysql 5.5 主从双向同步,请教mysql 定时 双向 主从同步問題
- Linux发行版,分类,CentOS下载
- 华为面试题——一道关于指针方面的编程题(C/C++)
- 技能CDDemo(点击鼠标左键实现技能界面旋转)
- 【LIBSVM中的 SVMcgForClass提示不存在的解决方法】
- 服务器配置文档查服务器名称,服务器配置答案资料.doc
- os.path 模块
- 近4年个人收款码数据将被追查补税?微信、支付宝紧急回应了
- flow.php 漏洞,Ecshop 3.0的flow.php文件SQL注射漏洞修复
- android RadioGroup中设置selector后出现多个别选中的RadioButton的解决办法
- 在自动驾驶技术上,一向自信满满的马斯克也承认了特斯拉的不足
- NOD32反病毒系统升级
- JUnit4 Note (尚学堂马士兵)
- Nature综述|整合组学分析护航健康,推动精准医学时代的到来!
- 渐变按钮 css,CSS3 Gradient Buttons
- 优盘突然显示无法在此计算机,复制文件到U盘时突然无法复制提示磁盘被写保护该如何修复...
- html页面字体飞入飞出特效,JS网页特效:星空飞入效果
- 关于头歌C/C++编程实训数组实训朋友圈点赞的一个题解
- 网页前往小程序指定页面