java integer最大值_Integer的最大值
来自:https://blog.csdn.net/qq_33611068/article/details/77369050
有这样一道题:
编程测试,遍历 0 到 int所能表示最大的正数,将消耗的时间打印。
下面是我的代码:
1 int temp = 0;2 Date dt1 = newDate();3 long begintime =dt1.getTime();4 for(int i=0;i<=Integer.MAX_VALUE;i++){5 temp =i;6 }7 Date dt2 = newDate();8 long endtime =dt2.getTime();9 System.out.println(endtime - begintime);
这段代码是会陷入死循环的,就死在了for里面。
刚开始的时候我还以为是这个数字太大了,一时半会儿遍历不到,我就将这个数字打印了一下:结果是2147483647。然后我就将代码中的Integer.MAX_VALUE逐步换成1000000,5000000,……,逐渐逼近这个数,等到换到21亿的时候,我发现还是可以快速执行完毕的。
然后我就怀疑是Integer.MAX__VALUE属性出现了某种问题,就将其换成了2147483647,还是死循环,看来怀疑错了,问题还是出现在这个数字身上。
这时候我再一次的检查了一次for循环,重点检查了终止条件,果然是这里出了问题,看我的for循环:
for(int i=0;i<=Integer.MAX_VALUE;i++){
temp=i;
}
只有当i比int最大值大的时候才能结束循环,可问题是……
i本身就是int类型的,它怎么可能比int的最大值还大!!!
for循环运行到 i = Integer.MAX_VALUE ,即 i = 2147483647,i再加1,就变成了-2147483648
(这个地方明白源码,反码,补码的同学已经懂了吧,不明白的等我详细的整理一个专题或者留言询问……请关注我)
这个负数与int最大值来比较,结果显然,要比最大值小,循环继续执行,重复这个过程,for循环永远都不会执行完毕。
java integer最大值_Integer的最大值相关推荐
- java 蓝桥杯算法训练 最大值与最小值的计算(题解)
试题 算法训练 最大值与最小值的计算 资源限制 时间限制:1.0s 内存限制:512.0MB 输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输 ...
- 【Kay】Java输出3个数的最大值
Java返回3个数的最大值 class Max {public static void main(String[] args) {//②获取三个数的最大值Scanner input = new Sca ...
- YDOOK:Java: 获取 Long 数据类型的最大值和最小值
YDOOK:Java: 获取 Long 数据类型的最大值和最小值 © YDOOK JY Lin 文章目录 YDOOK:Java: 获取 Long 数据类型的最大值和最小值 © YDOOK JY Lin ...
- java integer valueof_一文读懂什么是Java中的自动拆装箱
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...
- 享元模式在 Java Integer 中的应用
我们先来看下面这样一段代码.你可以先思考下,这段代码会输出什么样的结果. Integer i1 = 56; Integer i2 = 56; Integer i3 = 129; Integer i4 ...
- Java Integer取值范围是多少呢?
转自: Java Integer取值范围是多少呢? 下文笔者将使用实验的方式,讲述Integer类的取值范围,如下所示: Integer同int类型取值一致其取值范围是从-2147483648 至 2 ...
- java integer int 比较_java Integer和int之间的比较问题是什么?
展开全部 java Integer和int之间e68a84e8a2ad3231313335323631343130323136353331333365633864==的比较问题.求解释 public ...
- 【java】java Integer 缓存 一定是 -128~127 吗
1.概述 我们都知道 java Integer是有缓存的,缓存范围是 -128~127.但是这个值是一定的吗? 不一定.看源码.缓存大小居然可以改变 /*** Cache to support the ...
- Java: Integer比较127, 128
Java: Integer用==比较时127相等128不相等的原因 Integer数值在 -128 到 127 之间是从缓存中去取值,所以返回的是同一个对象,可以直接Integer==Integer, ...
- java integer 相等_Java Integer.equals()判断相等
首页 > 基础教程 > 常用类 > 常用 Integer类 Java Integer.equals()判断相等 Java中判断Integer是否相等可以用equals()或者&quo ...
最新文章
- window.name实现的跨域数据传输
- 让大规模深度学习训练线性加速、性能无损,基于BMUF的Adam优化器并行化实践...
- MATLAB中的字符串处理
- opencv图像处理常用完整示例代码总结
- 经典永驻,重温设计模式 |硬核!
- 测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2测试回收站2
- BUUCTF Web [ACTF2020 新生赛]Exec
- 写软件的需求分析全方位攻略
- matlab怎么画矩形世界地图,matlab绘制世界地图
- 会议论文有影响因子吗_会议论文和期刊论文的区别
- eclipse查看ftl文件
- cad画直线长度与实际不符_cad画规定长度直线的方法步骤图
- Android 高级自定义Toast及源码解析
- [4G5G专题-124]:5G培训部署篇-2-主要信令流程
- 区分度评估指标-KS
- wps2016向程序发送命令_word文档打开,提示“向程序发送命令时出现问题”的原因...
- Ubuntu20.04微信安装 简单 使用方便
- Tensorflow基础语法以及网络搭建
- 【在线教育直播】直播很卡怎么办?
- 降噪耳机哪个牌子好?给大家推荐几款质量比较好的降噪耳机品牌