A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Miss.H 中级黑马   /  2015-7-9 23:11  /  700 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String [] args)
{
        int num=100;
        if(num ++>100);
{
        num =200;
}
        System.out.println(num);
}
今天考试就被这题坑了,if语句后面有个逗号,结果直接执行下面语句了

13 个回复

倒序浏览
估计是java前五天的课程
回复 使用道具 举报
那是分号,不是逗号……
回复 使用道具 举报
这个题目是不错,摘下了!
回复 使用道具 举报
这个分号实在是要小心啊
回复 使用道具 举报
答案是多少,无线循环么?100 101.。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复 使用道具 举报
fantianfei 发表于 2015-7-10 07:53
答案是多少,无线循环么?100 101.。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...

答案是200, if(num ++>100);后面有分号{num=200}并不是if条件成立要执行的。
回复 使用道具 举报
本帖最后由 YongBao_Summer 于 2015-7-10 09:49 编辑

答案是200.中间那个括号改变的也是那个num。不是新的局部变量。Java在函数中是不能存在相同命名的局部变量的。
跟C的命名空间不一样。
回复 使用道具 举报
这个题目不错,一不注意就错了
回复 使用道具 举报
。。。这个我自己写代码的时候也遇到过,习惯性输完一句分号结束,之后才找出问题
回复 使用道具 举报
额。。。原来是这里错了。。完全没有注意到!
看来以后这些细节一定要注意!
回复 使用道具 举报
细节决定成败
回复 使用道具 举报
好悬,,我也掉进去了
回复 使用道具 举报
牵着蜗牛去逛街 发表于 2015-7-10 09:29
答案是200, if(num ++>100);后面有分号{num=200}并不是if条件成立要执行的。

知道了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马