a==b,b==c都为true,那a==c一定为true吗???

Java经验总结

共 2186字,需浏览 5分钟

 · 2022-02-28

有时候觉得自己对简单的知识了如指掌,这让我想起了2012年安徽的高考数学,当学生们考完数学出来时都兴高采烈的出了教室门,因为那年的数学卷子是有史以来感觉最简单的,当成绩出来傻了一片人,好多数学成绩原本好的才刚刚及格。起始都掉进了题目的陷阱里去了。而下面的文章,也是和数学题目差不多,很多陷阱,不信你来看看!!!
下面的输出结果是什么?
问题一:
int a = 50;Integer a1 = 50;Integer b1 = 50;Integer c1 = 100;Integer d1 = a1 + b1;
System.out.println(a == a1);System.out.println(a == b1);System.out.println(a1 == b1);System.out.println(c1 == (a1 + b1));System.out.println(c1 == d1);
问题二:
int a = 100;Integer a1 = 100;Integer b1 = 100;Integer c1 = 200;Integer d1 = a1 + b1;
System.out.println(a == a1);System.out.println(a == b1);System.out.println(a1 == b1);System.out.println(c1 == (a1 + b1));System.out.println(c1 == d1);
问题三:
int a = 200;Integer a1 = 200;Integer b1 = 200;Integer c1 = 400;Integer d1 = a1 + b1;
System.out.println(a == a1);System.out.println(a == b1);System.out.println(a1 == b1);System.out.println(c1 == (a1 + b1));System.out.println(c1 == d1);
问题四:
double a = 50d;Double a1 = 50d;Double b1 = 50d;Double c1 = 100d;Double d1 = a1 + b1;
System.out.println(a == a1);System.out.println(a == b1);System.out.println(a1 == b1);System.out.println(c1 == (a1 + b1));System.out.println(c1 == d1);
问题五:
double a = 200d;Double a1 = 200d;Double b1 = 200d;Double c1 = 400d;Double d1 = a1 + b1;
System.out.println(a == a1);System.out.println(a == b1);System.out.println(a1 == b1);System.out.println(c1 == (a1 + b1));System.out.println(c1 == d1);
问题六:
double a = 0.1d;double b = 0.2d;double c = 0.3d;
System.out.println(c == (a + b));System.out.println(0.3d == (a + b));
问题七:
float a = 0.1f;float b = 0.2f;float c = 0.3f;
System.out.println(c == (a + b));System.out.println(0.3f == (a + b));
问题八:
int a = 0;int b = 0;
System.out.println(a/b);
问题九:
double a = 0d;double b = 0d;
System.out.println(a/b);

这里面有太多的我们初始学习时就遇到过的,有的遇到过的不止一遍,面试问到的也不止一遍,为什么到现在,我们还有些题目模棱两可呢,为什么不抽点时间好好看看这方面的知识呢?今天把答案公布下,看看自己对了几个,后续文章会一点点解释每个题目的,请关注置顶公众号。

答案一:
truetruetruetruetrue
答案二
truetruetruetruefalse
答案三
truetruefalsetruefalse
答案四
truetruefalsetruefalse
答案五
truetruefalsetruefalse
答案六
falsefalse
答案七
truetrue
答案八
java.lang.ArithmeticException: / by zero
答案九:
NaN
(完)




专注于Java干货享

扫描二维码

获取Java干货



点个在看少个bug

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报