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

来源:7-1 编程练习

再见时光_43604918

2018-08-02 11:01

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

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

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

写回答 关注

2回答

  • 再见时光_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

    慕娘5114...

    哦 当初看错了。。

    2018-08-06 09:38:45

    共 1 条回复 >

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

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

    再见时光_4...

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

    2018-08-02 22:45:34

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165609 学习 · 17587 问题

查看课程

相似问题