黑马程序员技术交流社区

标题: while循环的问题 [打印本页]

作者: 王春晓    时间: 2013-5-17 18:18
标题: while循环的问题
本帖最后由 王春晓 于 2013-5-17 22:56 编辑
  1. while(bot>1){
  2.                         while(!(bot%2==1)){
  3.                                 bot = bot/2;
  4.                                 count += bot;
  5.                         }
  6.                         while(bot%2==1){
  7.                                 bot = bot/2;
  8.                                 count += bot;
  9.                                 bot += 1;
  10.                         }
  11.                 }
复制代码
while循环里面有两个语句的话,如果执行完第一个语句条件就不满足了,循环会结束吗?还是全部语句执行完后才结束?
作者: 郑元皓    时间: 2013-5-17 18:27
bot>1这个条件true了。就会开始第一个while循环,如果是false直接结束
第二个和第三个都在第一个里面。其实也是同理的。
还有就是while循环是会无限循环的。如果没有定义结束语句是不会停止的
作者: joker_chan    时间: 2013-5-17 18:28
会执行的。一个while循环里面只有当条件不满足的时候才会停止循环。还有就是手动跳出循环。
作者: 风云    时间: 2013-5-17 20:49
它会首先判断bot>1这个条件,如果为真内部循环会全部执行,如果bot>1为假则内部循环都不执行,在这个程序中内部循环要么都执行要么都不执行
作者: 刘林虎    时间: 2013-5-17 21:28
while一般用于 不清楚需要循环多少次的情况下
while(true){ //循环条件中直接为TRUE
//循环内容
if(符合某条件){ //直到符合条件后跳出本循环 否则一直循环下去
break;
}
}
作者: 风吹月er落    时间: 2013-5-17 21:37
while 是先判断后执行条件真执行假不执行假如将while定义为1,2,3号首先判断1号条件是否成立成立则执行内部语句即2,3,两者位为并列关系都各自独立执行
作者: 孤帆破浪    时间: 2013-5-17 21:48
本帖最后由 孤帆破浪 于 2013-5-17 21:52 编辑

如果程序执行的进程已经进入了循环里面,也就是说当前的循环条件是真的,那么它会把while循环里面的所有语句执行完了之后(条件语句除外),才会再次判断循环条件是否满足。当然,遇到break或 continue情况除外。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2