南有文 2021-04-17 20:01 采纳率: 66.7%
浏览 60
已采纳

为什么输出来的结果是 true(这个知道原因) 8 7.3

public class ObParm {
    static boolean b1; 
    public static void main(String[] args) {
             int i1 = 11;     
             double f1=1.3; 
             do {
                b1 = (f1 > 4) && (i1-- < 10);
                f1 += 1.0;
             } while (!b1);
             System.out.println(b1 + "," + i1 + "," + f1);

    }


}

  • 写回答

4条回答 默认 最新

  • 关注

     b1 = (f1 > 4) && (i1-- < 10);

    注意该语句的执行顺序,与(&&)操作如果第一个条件为假,后面的条件就不会再执行,也就是说只有f1>4以后才会执行(i1--<10),具体情况如下:

    第1次循环,f1=2.3,i1=11
    第2次循环,f1=3.3,i1=11
    第3次循环,f1=4.3,i1=11
    第4次循环,f1=5.3,i1=10
    第5次循环,f1=6.3,i1=9
    第6次循环,f1=7.3,i1=8

    符合条件,结果b1=true,结束循环,打印结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 为什么在iis上部署网站,服务器可以访问,但是本地电脑访问不了
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配