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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 头狼 中级黑马   /  2014-12-17 22:43  /  3109 人查看  /  21 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

while和for的用法有什么区别吗?还是什么时候都能替换?

21 个回复

倒序浏览
没有什么区别,都是实现循环的功能,不过大多数人喜欢使用for循环,因为的它用起来的比较方便
回复 使用道具 举报
有,while循环条件定义在了外面,当循环结束后,条件依然存在;
for循环的条件是定义在内部,当循环结束,条件也就结束了。
视情况而选择循环,当想要循环结束后依然使用条件就用while循环,
否则用for循环,这样不占用内存。。。。(ps:其实也占不了多少)

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
我觉的没有区别,都是可以互换的!
回复 使用道具 举报
有区别,你看括号里面的就可看出来了
回复 使用道具 举报
for适合用于循环次数已定的情况;而while是根据条件循环,比较适合用于循环次数未定的情况,只要条件满足就可以一直循环下去。两者任何时候都可以互换。
回复 使用道具 举报
for语句看起来比较直观。
回复 使用道具 举报
有区别,但是不大,while常用于循环次数不确定的时候,for常用于循环一定的次数,人们习惯使用for循环
回复 使用道具 举报
都是循环,只不过for循环用在已知循环的次数情况下,而while用在你不知道循环次数的情况下,所以看情况来选择用哪个
回复 使用道具 举报
假设说我有五个苹果 我要遍历吃光 就用for 因为我知道只有五个  在假设我有一筐樱桃 我还要遍历吃光 但是我不可能去数有多少个樱桃。我就一直吃光为止 就用while 也就是说一个结束条件确定与否决定着使用哪个循环
回复 使用道具 举报
for循环使用的是局部变量,作用域完成之后局部变量释放,比较省内存的
回复 使用道具 举报
我认为这两个是可以互相代替的,只是看你对那个更熟悉,运用的更熟练了;比如说

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);

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

简单易懂,哈哈
回复 使用道具 举报
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:33
18#
襄王有梦 发表于 2014-12-18 18:49
我认为这两个是可以互相代替的,只是看你对那个更熟悉,运用的更熟练了;比如说

for (int i = 0; i ...

哦,这样啊
回复 使用道具 举报
头狼 中级黑马 2014-12-18 19:20:55
19#
duluhua 发表于 2014-12-18 19:18
1.二者都是循环语句,有一定的区别。区别在于()里的条件
2.while()内可以跟上点,比如while(i==3).也 可 ...

搜嘎,明白
回复 使用道具 举报
wtjohn 中级黑马 2014-12-18 19:46:20
20#
看需求了,
类似无限循环的时候while(true)更方便一点。   按功能来讲,是没啥差了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马