黑马程序员技术交流社区

标题: 这个题目金典 [打印本页]

作者: Miss.H    时间: 2015-7-9 23:11
标题: 这个题目金典
public static void main(String [] args)
{
        int num=100;
        if(num ++>100);
{
        num =200;
}
        System.out.println(num);
}
今天考试就被这题坑了,if语句后面有个逗号,结果直接执行下面语句了


作者: 符慢慢    时间: 2015-7-9 23:18
估计是java前五天的课程
作者: 东东的一些事    时间: 2015-7-9 23:27
那是分号,不是逗号……
作者: huizi1992    时间: 2015-7-9 23:29
这个题目是不错,摘下了!
作者: 人造番茄    时间: 2015-7-10 07:11
这个分号实在是要小心啊
作者: fantianfei    时间: 2015-7-10 07:53
答案是多少,无线循环么?100 101.。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: 牵着蜗牛去逛街    时间: 2015-7-10 09:29
fantianfei 发表于 2015-7-10 07:53
答案是多少,无线循环么?100 101.。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...

答案是200, if(num ++>100);后面有分号{num=200}并不是if条件成立要执行的。
作者: YongBao_Summer    时间: 2015-7-10 09:42
本帖最后由 YongBao_Summer 于 2015-7-10 09:49 编辑

答案是200.中间那个括号改变的也是那个num。不是新的局部变量。Java在函数中是不能存在相同命名的局部变量的。
跟C的命名空间不一样。

作者: zhwfa1991    时间: 2015-7-10 10:02
这个题目不错,一不注意就错了
作者: vinoMVP    时间: 2015-7-10 10:08
。。。这个我自己写代码的时候也遇到过,习惯性输完一句分号结束,之后才找出问题
作者: 官沛    时间: 2015-7-10 10:12
额。。。原来是这里错了。。完全没有注意到!
看来以后这些细节一定要注意!
作者: 加多宝    时间: 2015-7-10 11:27
细节决定成败
作者: 帅帅loyal    时间: 2015-7-10 11:38
好悬,,我也掉进去了
作者: fantianfei    时间: 2015-7-10 11:46
牵着蜗牛去逛街 发表于 2015-7-10 09:29
答案是200, if(num ++>100);后面有分号{num=200}并不是if条件成立要执行的。

知道了。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2