A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王春晓 中级黑马   /  2013-5-17 18:18  /  1748 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王春晓 于 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循环里面有两个语句的话,如果执行完第一个语句条件就不满足了,循环会结束吗?还是全部语句执行完后才结束?

7 个回复

倒序浏览
bot>1这个条件true了。就会开始第一个while循环,如果是false直接结束
第二个和第三个都在第一个里面。其实也是同理的。
还有就是while循环是会无限循环的。如果没有定义结束语句是不会停止的
回复 使用道具 举报
会执行的。一个while循环里面只有当条件不满足的时候才会停止循环。还有就是手动跳出循环。
回复 使用道具 举报
它会首先判断bot>1这个条件,如果为真内部循环会全部执行,如果bot>1为假则内部循环都不执行,在这个程序中内部循环要么都执行要么都不执行
回复 使用道具 举报
while一般用于 不清楚需要循环多少次的情况下
while(true){ //循环条件中直接为TRUE
//循环内容
if(符合某条件){ //直到符合条件后跳出本循环 否则一直循环下去
break;
}
}
回复 使用道具 举报
风吹月er落 来自手机 中级黑马 2013-5-17 21:37:06
地板
while 是先判断后执行条件真执行假不执行假如将while定义为1,2,3号首先判断1号条件是否成立成立则执行内部语句即2,3,两者位为并列关系都各自独立执行来自: Android客户端
回复 使用道具 举报
本帖最后由 孤帆破浪 于 2013-5-17 21:52 编辑

如果程序执行的进程已经进入了循环里面,也就是说当前的循环条件是真的,那么它会把while循环里面的所有语句执行完了之后(条件语句除外),才会再次判断循环条件是否满足。当然,遇到break或 continue情况除外。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马