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

© 云端的风 中级黑马   /  2015-6-12 21:23  /  2533 人查看  /  49 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

30.下面程序执行的结果是( )
public static void main(String [] args)
{
        int num=100;
        if(num ++>100);
{
        num =200;
}
        System.out.println(num);
}
A.  100
B.  200
C.  201
D.  101  
你们选什么?  为什么?

49 个回复

正序浏览
繁华落幕 发表于 2015-6-14 21:32
nun++ 与 ++n  是两回事,++在后边是先进行运算比较,然后在进行自增,++在前边,是先进行自增,然后进行比较 ...

之前看过一条类似的题,  判断语句是n++==10  所以弄混了
回复 使用道具 举报
num=200;
回复 使用道具 举报
我去。坑死人不偿命的;
回复 使用道具 举报
楼主这个题给的有意思,考察了两个基本的知识点:
题如下:
public static void main(String [] args){        //定义int类型变量num,并初始化赋值num=100;
        int num=100;
        //if语句判断(num++>100),该表达式num++在后,先参与运行,后自加1.显然表达式不成立返回false. 此时num=101.
        //另If(num++>100); 相当于if(num++>100){}   本身if后没有任何执行语句.所有这个就相当于num++;
        if(num ++>100);
       //代码块内执行num= 200;是把200重新赋值到num.
          {
        num =200;
           }
        System.out.println(num);//输出num最终值,即200;
}总结:1.混淆点: fi(num++>100); 中的分号;  如果去掉分号;代码块{num=200}不执行,num++自加1后输出值为101;

        2.int的初始化赋值和修改值.
回复 使用道具 举报
这是我们同样面临的问题
回复 使用道具 举报
选D吧,num++执行了,下一个num就是num=num+1值啊
回复 使用道具 举报
写程序是一件非常严禁的事
回复 使用道具 举报
选d,,++在后先参与运算然后自增1
回复 使用道具 举报
这个分好有毒。。。
回复 使用道具 举报
  if后面加分号了! 所以肯定选b了
回复 使用道具 举报
如果分号是故意的,那么答案是200.。。
回复 使用道具 举报
D,if 里面的语句判断完,给出false,传递给 if,同时num自增1,变成101,虽然自后符合条件了,但是可惜已经判断完了,if 里面不会执行
回复 使用道具 举报
200,大家都被坑过  
回复 使用道具 举报
半月 发表于 2015-6-12 21:45
谁在if后面加;的.
出来我不打死他

哈哈哈,笑屎个人
回复 使用道具 举报
考的是细心,确实好坑
回复 使用道具 举报
看错了  选D  
回复 使用道具 举报
bl141421 发表于 2015-6-13 12:36
有没有分号难道不都是200?      (num ++>100)是true啊

nun++ 与 ++n  是两回事,++在后边是先进行运算比较,然后在进行自增,++在前边,是先进行自增,然后进行比较运算......
回复 使用道具 举报
考试的时候考了,看清了没被坑:)
回复 使用道具 举报
200哈哈哈!!!
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马