为了账号安全,请及时绑定邮箱和手机立即绑定

求解求解对你们来说应该很简单的

以下代码的目的就是让程序第一次执行if第二次执行else,但他不是已经在for语句前把b给定成false了吗?随后的if(b=!b)不就是true吗?那么这个程序是怎么执行到if的呢?b明明已经没法变了
593d4b0c0001867009600540.jpg

正在回答

3 回答

b的值可以变啊,false只是他的初值;if(b=!b)这句代码每执行一次都将b值取反再赋值给b(即b在false和true不断变化)。

1 回复 有任何疑惑可以回复我~

中间的代码  if(b = !b)的意思是把 b 取反 (false 变成 true 或者 true 变成 false)然后在把值赋给b 然后再把赋值之后的b 当做判定条件看是执行if语句还是else语句,你的图片的意思就是第一次执行if 然后执行else 然后if ... else...这样反复的执行下去

0 回复 有任何疑惑可以回复我~

for循环中第一次执行到if判断处时,因为变量b为false,故第一次不执行if里面的语句;紧接着b就被赋值为true,等下一次循环时就会执行if里面的语句,如此循环往复。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

求解求解对你们来说应该很简单的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信