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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhrnghgwsws 中级黑马   /  2014-5-24 18:01  /  6176 人查看  /  30 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

循环中for和while的区别?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

30 个回复

倒序浏览
for循环又称(计数器式循环)也就是说for循环大都是应用于明确循环次数这样的循环,while(当型循环)是不定次数循环,用在循环次数不确定的情况下。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
今天刚看到以前不知道的一点,while的执行体和跌代体在一起,如果执行体后面加上continue 后面的跌代体执行不到,
for的执行体和跌代替分离,执行体后面加continue  跌代体还是是会执行。for里面除了两个封号不能省略之外其余都可以省略!
回复 使用道具 举报
太无聊的贴了。。
回复 使用道具 举报
本帖最后由 七弦 于 2014-5-24 20:12 编辑

个人感觉for循环比较简洁,会比while更常用些,
像写固定次数循环的时候for就比较好,
for(int x=0; x<10; x++){
  System.out.println("hello"+x);
}
而用while则是这样:
int x=0;
while(x<10){
  System.out.println("hello"+x);
}
看起来没太大区别,但是用for更节省资源,for的x用完会释放,
也就是说结束循环后还可以定义x变量作为其他用途,
就不如在定义一个数组,Integer[] x = {1,2,3};
while就不行,用完之后x不会被释放,还占用资源,
所以说只为循环增量而存在就用for。

另外写无限循环的时候用while就比较好了,而且还可以定义标记。
当然,这两种形式基本上是可以互换使用的,视情况和个人喜好而定。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 3 0
for和while可以互换。如果用于定义循环增量。用for更合适。因为节约内存。

当然,当我们在写测试程序时,为了书写的简洁,也是可以用while,因为容易看。

不过建议使用for
回复 使用道具 举报
彭飞 中级黑马 2014-5-24 23:41:00
7#


楼主现在的阶段,
记住:

for 是确定次数的循环。
while  是不确定次数的循环

至于更多,的区别,请看继续看视频。
回复 使用道具 举报
我觉得没什么区别,都是循环,你用的多就会发现两者没什么区别,只是用法不一样,个人觉得for常用点
回复 使用道具 举报
知道循环次数可以用for,不知道循环次数但知道循环继续的条件就用while。大多时候他们可以互相转换。
还有一点,for循环是在循环内定义变量,出来该循环变量就会释放,比较省内存一点。
回复 使用道具 举报 2 0
while是一个循环语句,也就是说只要条件满足,就会执行一次循环体,执行完以后会再判断一次条件,如果满足条件,还会再执行一次,终而复始,除非你在循环中对条件进行了改变才会从
循环中跳出来。例如:
class  AB
{
public static void main(String[] args)
{
  int x=1;
  while(x<3)
  {
   System.out.print("x="+x);
   x++;  //每当循环一次x自增1,当x>=3时,while内的条件不满足,循环则跳出。
  }
}
}
结果输出为:x=1  x=2
while还有一种和do在一起的用法,while是先判断条件,只有条件满足才执行,do while先执行再判断条件,条件满足再继续执行,简单一句话,do while无论条件是否满足循环体至少执行一
次。
class AB
{
public static void main(String[] args)
{
  int x=1;
  do
  {
   System.out.println("x="+x);
   x++;
  }
  while(x<1);
}
}  
结果输出为:x=1
if为判断语句,只有当条件表达式条件满足时才会执行。
如:
class AB
{
public static void main(String[] args)
{
  int x=1;
  if(x>2)
  {
   System.out.println("yes");
   
  }
   System.out.println("no");
}
}  
当if中的条件满足时输出yes,如果不满足则输出no,换成if else则为
class AB
{
public static void main(String[] args)
{
  int x=1;
  if(x>2)
  {
   System.out.println("yes");
   
  }
  else
  {
   System.out.println("no");
  }
}
}  
if else 结构简写格式为 变量=(条件表达式)?表达式1:表达式2;也称为三元运算符,三元运算符的好处是可以简化if else代码,弊端:因为是一个运算符所以运算完必须要有一个结果。
还有一种是
if(判断条件1){执行语句1}
else if (判断条件2){执行语句2}
else if (判断条件3){执行语句3}
else if (...) {...}
else{执行语句n}
例如:根据用户定义的数值不同,打印对应的星期英文。
class AB
{
public static void main(String[] args)
{
  int x=2;
  if (x==1)
   System.out.println(x+"星期一");
  else if (x==2)
   System.out.println(x+"星期二");
  else if (x==3)
   System.out.println(x+"星期三");
  else if (x==4)
   System.out.println(x+"星期四");
  else if (x==5)
   System.out.println(x+"星期五");
  else if (x==6)
   System.out.println(x+"星期六");
  else if (x==7)
   System.out.println(x+"星期天");
  else
   System.out.println(x+"不存在");
}
}
回复 使用道具 举报
视频里都有的亲!
回复 使用道具 举报
彭飞 发表于 2014-5-24 23:41
楼主现在的阶段,
记住:

这也是我想说的。。。当需要用到循环语句时,如果参数变量不确定会导致循环次数也不确定,那就必须要用while语句,而当循环次数一定的时候,用for,while也能用,就是代码得敲的比for语句多
不知道我说的对不对
回复 使用道具 举报
认真看视频  会有收获!
回复 使用道具 举报
这样也可以得到技术分?
回复 使用道具 举报
for是有能计算具体次数的循环,while是次数不确定的,像吃葡萄,不确定吃多少次,就用while,确定的用for,当然它们俩个是可以等价替换的
回复 使用道具 举报
循环次数确定时用for,循环次数不确定时用while。
回复 使用道具 举报
136616244 发表于 2014-5-24 18:22
今天刚看到以前不知道的一点,while的执行体和跌代体在一起,如果执行体后面加上continue 后面的跌代体执行 ...

哦,原来如此啊
回复 使用道具 举报
简单2句话,循环次数确定用for,不确定用while
回复 使用道具 举报
for循环适用于已知循环次数,while循环适用于未知循环次数,
回复 使用道具 举报
好。厉害加油啊。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马