选择题4-4

选择题4-4

1
能解释一下为什么选k=8吗?

http://img1.sycdn.imooc.com/climg//592e6fee0001a7d506700328.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

i=9,j=8, i>j的结果为true,!(i>j)结果为false,会继续执行||右边的表达式。

m值为10,k为6,m<k++结果为false,执行完后k的值为7

综上,!(i>j)||m<k++的结果为false,执行else后面的语句,k的值最终为8

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • ayingga 提问者 #1
    非常感谢!
    2017-06-01 22:53:52
jarive 2017-12-01 18:15:09

执行if语句的时候k的值已经重新计算了,所以在if的时候已经是7了,再到else的时候执行k++,那k的值就是7+1=8

Willhas 2017-09-25 16:02:46

同问 求解!!!

一介农夫 2017-08-19 01:51:17
    int i=9,j=8,k=6,m=10;
        if(!(i>j)||m<k++){
            System.out.print(k--);
        }else{
            System.out.print(k++);
        }
    }
    标准写法,值绝对是7


  • 第二个System.out.print(K++),输出的值是第一次K++后的值 6+1=7; (K++)是先输出K值,再进行+1运算 int i=9,j=8,k=6,m=10; if(!(i>j)||m<k++){ System.out.print(k--); }else{ System.out.print(k++); System.out.println(k); } //这样最后一个K值就是 8 了 }
    2017-12-05 16:35:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师