java integer最小值_db2integer最大值

java integer最小值_db2integer最大值来自:https://blog.csdn.net/qq_33611068/article/details/77369050有这样一道题:编程测试,遍历0到int所能表示最大的正数,将消耗的时间打印。下面是我的代码:1inttemp=0;2Datedt1=newDate();3longbegintime=dt1.getTime();4for(inti=0;i<=…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

来自: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循环永远都不会执行完毕。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195882.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nfs

    nfs

    2021年9月9日
    59
  • idea tabnine激活码【在线破解激活】

    idea tabnine激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    55
  • 代价函数的意义

    代价函数的意义我们来复习上一节的知识:假设函数:hθ(x)=θ0+θ1xh_\theta(x)=\theta_0+\theta_1xhθ​(x)=θ0​+θ1​x参数:θ0,θ1\theta_0,\theta_1θ0​,θ1​代价函数:J(θ0,θ1)=12m∑i=1i=m(h(xi)−yi)2J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{i=m}(h(x^i)…

    2022年5月10日
    49
  • import java.io 是什么意思_Java IO 详解

    import java.io 是什么意思_Java IO 详解JavaIO详解初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。首先看个图:(如果你也是初学者,我相信你看了真个人都不好了,想想java设计者真是煞费苦心啊!)这是javaio比较基本的一些处理流,除此之外我们还会提到一些比较深入的基于i…

    2022年6月7日
    29
  • RFID-MFRC522射频识别模块,S50卡M1

    RFID-MFRC522射频识别模块,S50卡M1射频识别模块什么是RFIDMFRC522S50-M1卡1、主要指标2、存储结构RC522与ArduinoUNO的接线什么是RFID无线射频识别即射频识别技术(RadioFrequencyIdentification,RFID),是自动识别技术的一种,通过无线射频方式进行非接触双向数据通信,利用无线射频方式对记录媒体(电子标签或射频卡)进行读写,从而达到识别目标和数据交换的目的。MF…

    2022年7月14日
    11
  • ViewGroup.LayoutParams 和 MeasureSpec

    ViewGroup.LayoutParams 和 MeasureSpec1.LayoutParams LayoutParams 是ViewGroup的内部静态类,ViewGroup的子类(如RelativeLayout,LinearLayout,FrameLayout)都有其对应的   ViewGroup.LayoutParams的子类,如RelativeLayoutParams LayoutParams的作用:指定视图View 的高度(heig…

    2022年7月17日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号