黑马程序员技术交流社区

标题: while和for的用法有区别吗? [打印本页]

作者: 头狼    时间: 2014-12-17 22:43
标题: while和for的用法有区别吗?
while和for的用法有什么区别吗?还是什么时候都能替换?
作者: tw-IT    时间: 2014-12-17 23:05
没有什么区别,都是实现循环的功能,不过大多数人喜欢使用for循环,因为的它用起来的比较方便
作者: 找寻小龙猫    时间: 2014-12-17 23:11
有,while循环条件定义在了外面,当循环结束后,条件依然存在;
for循环的条件是定义在内部,当循环结束,条件也就结束了。
视情况而选择循环,当想要循环结束后依然使用条件就用while循环,
否则用for循环,这样不占用内存。。。。(ps:其实也占不了多少)
作者: x277402301t    时间: 2014-12-17 23:26
我觉的没有区别,都是可以互换的!
作者: 青衫禅客    时间: 2014-12-17 23:28
有区别,你看括号里面的就可看出来了
作者: zhengyijun    时间: 2014-12-17 23:51
for适合用于循环次数已定的情况;而while是根据条件循环,比较适合用于循环次数未定的情况,只要条件满足就可以一直循环下去。两者任何时候都可以互换。
作者: 敲代码换大汽车    时间: 2014-12-18 00:10
for语句看起来比较直观。
作者: Jennifer    时间: 2014-12-18 00:12
有区别,但是不大,while常用于循环次数不确定的时候,for常用于循环一定的次数,人们习惯使用for循环
作者: jxlovqqvo    时间: 2014-12-18 14:24
都是循环,只不过for循环用在已知循环的次数情况下,而while用在你不知道循环次数的情况下,所以看情况来选择用哪个
作者: a986875894    时间: 2014-12-18 17:22
假设说我有五个苹果 我要遍历吃光 就用for 因为我知道只有五个  在假设我有一筐樱桃 我还要遍历吃光 但是我不可能去数有多少个樱桃。我就一直吃光为止 就用while 也就是说一个结束条件确定与否决定着使用哪个循环
作者: run_wind    时间: 2014-12-18 18:12
for循环使用的是局部变量,作用域完成之后局部变量释放,比较省内存的
作者: 襄王有梦    时间: 2014-12-18 18:49
我认为这两个是可以互相代替的,只是看你对那个更熟悉,运用的更熟练了;比如说

for (int i = 0; i<10; i++) {...//插入语句 }

用while来写就是
int i = 0;
while (i<10) {
...//插入语句
i++;
}

for循环比较简洁,会比while更常用些,尤其是用array的时候,很方便的。
还有一种do..while,和while差不多,但是do...while在任何情况下都会先执行命令一次,即使i不符合设定条件,
do{
...
}while (i<10);

这些循环大部分情况都是可以互换的。在不同的场合,有的循环就会更方便点,视具体情况而定,看个人的熟练度了!!!
作者: 郝明明    时间: 2014-12-18 18:53
要说区别吗是有的,他们的使用情况是不同的,(for)一个用于可知循环次数,步长增量,循环变量初值确定的程序,(while)用于不定次数的,但明确了结束条件的程序中!但是他们之间可以相互嵌套,只要满足各自的条件就好!
作者: 红楼    时间: 2014-12-18 19:01
相比while  表示更喜欢for     喜欢你没道理
作者: 冷风    时间: 2014-12-18 19:02
for能实现的while都能实现,while能实现的for不一定能,
作者: 头狼    时间: 2014-12-18 19:17
a986875894 发表于 2014-12-18 17:22
假设说我有五个苹果 我要遍历吃光 就用for 因为我知道只有五个  在假设我有一筐樱桃 我还要遍历吃光 但是我 ...

简单易懂,哈哈
作者: duluhua    时间: 2014-12-18 19:18
1.二者都是循环语句,有一定的区别。区别在于()里的条件
2.while()内可以跟上点,比如while(i==3).也 可以跟上范围,比如while(i<4)..........
3.for后面一般跟的都是连续的点,如1.2.3.4   for(int i=0;i<4;i++)  此时i值0、1、2、3.。。。。是连续的点
4.再就是while和dowhile之区别
5.根据不同的场景,可以选择不同的循环语句。看各人喜好了。
6.哈哈  就这些,do u 明白?
作者: 头狼    时间: 2014-12-18 19:19
襄王有梦 发表于 2014-12-18 18:49
我认为这两个是可以互相代替的,只是看你对那个更熟悉,运用的更熟练了;比如说

for (int i = 0; i ...

哦,这样啊
作者: 头狼    时间: 2014-12-18 19:20
duluhua 发表于 2014-12-18 19:18
1.二者都是循环语句,有一定的区别。区别在于()里的条件
2.while()内可以跟上点,比如while(i==3).也 可 ...

搜嘎,明白
作者: wtjohn    时间: 2014-12-18 19:46
看需求了,
类似无限循环的时候while(true)更方便一点。   按功能来讲,是没啥差了
作者: ben_vs_cong    时间: 2014-12-18 19:48
具体没有什么区别,都可以替换的,只是在确定循环次数用for比较好,不确定循环次数用while
作者: zmhlnrs    时间: 2014-12-18 22:52
for循环是知道我需要循环几次,而不清楚具体循环次数的时候可以用while




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