麻烦老师解释一下。

麻烦老师解释一下。

(x==0)&(x>4)意思是在x等于0和x大于4的情况下执行程序,那么在x=0时,程序应该已经执行了一次啊,为什么说程序无法执行?

http://img1.sycdn.imooc.com//climg/5d52808b0001d12019200788.jpg

正在回答 回答被采纳积分+1

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

3回答
好帮手慕酷酷 2019-08-14 09:56:13

同学你好,可以这样理解:

for(int x = 0;(x==0)&(x>4);x++){}中,因为‘&’为与的意思,它的含义是当x==0并且x>4时条件都成立才可以进行循环体操作,而在本题中x=0只是符合第一个条件x==0,而不符合x>4,则一定会返回false,条件不成立,所以程序一次都不会执行。

同理 while循环也是这个道理哦~

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

好帮手慕酷酷 2019-08-13 17:36:27

同学你好,楼上的同学回答的很棒哦!同学可以参考楼上同学的回答进行理解哦~祝学习愉快!


Giggly_girl 2019-08-13 17:32:14

程序执行是指,执行循环体内的操作之后执行完完整的for语句。而这个直接在判断语句跳出了,前面的int x = 0;只是定义了x的值,并不是执行语句,这个int x = 0;是定义了局部变量x,同样当x放在for循环外面定义,在for循环中为空也是可以的,例如

int x = 0;

for(; (x==0)&(x>4);x++){

}

  • 提问者 柯菲特 #1
    这个题干能否等同于如下: int x=0; while(x==0&x>4){ System.out.println(x); x++ } ,如果像我这样修改,是正确的话,程序好像确实能够执行一次。为什么原来题干里的语句就不能执行一次了?
    2019-08-13 21:10:25
  • Giggly_girl 回复 提问者 柯菲特 #2
    while里面的条件判断语句是错误的,程序也不能执行,直接跳出。
    2019-08-13 23:32:24
  • 程序员XY 回复 提问者 柯菲特 #3
    是等同的,同学要好好理解下&,是与、并且的意思,就是说要左右两边的表达式同时成立才会去执行,当x=0时,首先判断左边表达式x==0条件是成立的,之后在判断右边表达式x>4,就是0>4,这是不成立的,最后就是:成立&不成立,不满与、并且的意思,所以条件不成立不会去执行。你可能把执行理解成判断了。
    2019-08-19 14:29:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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