问答详情
源自:7-1 编程练习

数组排序后应该是{-119,-89,-73,-64,-52,-23,91} ​当运行到-23时,for循环里的执行情况时怎样的?两个if都还会执行吗?

https://img4.mukewang.com/5b62724c0001ea9f07150535.jpg

数组排序后应该是{-119,-89,-73,-64,-52,-23,91}

当运行到-23时,for循环里的执行情况时怎样的?两个if都还会执行吗?

提问者:再见时光_43604918 2018-08-02 11:01

个回答

  • 再见时光_43604918
    2018-08-02 22:46:20

    你好,你看右边的运行结果,showTop3(scores)方法中数组会先按升序排列,第一个输入的应该是数组中的最大值91,第二个才是-23,-23的时候for循环的循环条件判断为true,循环变量自减一,然后执行内循环第一个if,-23判断为true,执行continue,跳过循环体for中的语句执行下一个成绩-52的判断,依然是true,依然执行continue,跳过循环体for中的语句直到结束。所以最终结果只有一个91,num也只有在输入91的时候才记过一次数,之后都被跳过了。https://img4.mukewang.com/5b6319300001bf2507140541.jpg

  • 慕娘5114374
    2018-08-02 13:43:19

    不是太明白你的意思  但是这边如果走到-23,下次肯定就到91了  第一个if判断都不通过,所以会执行num++和最后一个if,但是显然第二个if判断也是false,就直接走到打印语句了