码迷,mamicode.com
首页 > 其他好文 > 详细

一段有趣的代码

时间:2016-01-29 00:02:06      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

今天一个同事说他遇到了意见很有趣的代码,说JVM出现问题了,代码如下:

public class Test {
    public static void main(String[] args) {
       int i=40;
       int j=040;
       System.out.println(i==j);
    }
}

 打印结果是false

猛一看 是挺奇怪的 怎么可能出现这种情况,40和040肯定是相同的哇,于是我将i和j的值一并打印出来

代码如下

public class Test {
    public static void main(String[] args) {
       int i=40;
       int j=040;
       System.out.println(i==j);
       System.out.println(i);
       System.out.println(j);
    }
}

运行结果如下

false
40
32
于是乎 恍然大悟 原来是JVM里面已0开头的是八进制的数据,两个值当然不同了,看来细节还是灰常重要的,另外我们写程序也真的需要注意规范,不要瞎胡加一些东西,有时候会出现一些奇怪的问题!

不过也蛮好,下次也会多注意点,呵呵!

一段有趣的代码

标签:

原文地址:http://www.cnblogs.com/longshiyVip/p/5167695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!