C#While Loop vs For Loop?
在C#中,一个问题困扰了我一段时间,while和for循环之间的实际主要区别是什么。它只是纯粹的可读性;在for循环中基本上可以做的所有事情都可以在while循环中完成,只是在不同的地方。以这些例子为例:C#While Loop vs For Loop?,c#,loops,for-loop,while-loop,console,C#,Loops,For Loop,While Loop,Console,在C#中,一个问题困扰了我一段时间,while和for循环之间的实际主要区别是什么。它只是纯粹的可读性;在for循环中基本上可以做的所有事情都可以在while循环中完成,只是在不同的地方。以这些例子为例: int num = 3; while (num < 10) { Console.WriteLine(num); num++; } int num=3; while(num
int num = 3;
while (num < 10)
{
Console.WriteLine(num);
num++;
}
int num=3;
while(num<10)
{
控制台写入线(num);
num++;
}
vs
for(int x=3;x<10;x++)
{
控制台写入线(x);
}
两个代码循环产生相同的结果,并且for循环迫使您声明一个新变量并在每个循环开始时设置迭代值,这是两者之间的唯一区别吗?也许我遗漏了其他一些重要的区别,但如果有人能让我明白这一点,那就好了。谢谢。是的,它们在背景中(即在汇编中)完全相同 通常,当重复次数已知且我们不打算更改计数器(索引)时,使用
for
循环更为常见
while
循环还具有哨兵循环的优点,例如,当从用户获取输入直到给出特定内容时,哨兵循环更容易
这两者之间的唯一区别是for循环强制您声明一个新变量,并在每个循环开始时设置迭代值
for循环将强制您不执行任何操作。您可以省略这3个元素中的任何一个。最小的形式是
for(;;) // forever
{
DoSomething();
}
但您可以使用3个元素编写更简洁的代码:
for(initializer; loop-condition; update-expression)
{
controlled-statements;
}
相当于:
{
initializer;
while(loop-condition)
{
controlled-statements;
continue_target: // goto here to emulate continue
update-expression;
}
}
注意,for(inti=0;…;…;…)
中的外部大括号{}
是for循环的局部。明显的好处
但是用法上的主要区别在于调用
continue代码>在循环内部,while循环比for循环更容易出错 基本上,区别在于:
For循环预先知道它将循环多少次,而while循环不知道。
For循环有一个初始化步骤,而while循环没有
For循环使用“步长值”或递增/递减步长,而while循环则不使用。
下面是一个Java for循环的示例,循环从0到99,并打印出数字。请注意,作为for循环结构的一部分,循环是如何初始化和递增的
for(int i=0; i<100; i++) {
System.out.println(i);
}
for(int i=0;i当您确定结束值是什么或循环应该执行多少(直到什么值)时,请使用“for”循环,否则使用“while”循环。“这只是纯粹的可读性吗?”-是的。虽然for
循环更为惯用。While循环的参数中不包含某种步进。也可以将While循环设置为在循环中没有明确的结束,而for循环有定义的开始和结束。for循环不必有定义的结束,@shaun。作为一个明显的反例,for(;;)
是一个无限循环。密切相关:for/while/do关键字都只是goto
:)的语法糖
for(int i=0; i<100; i++) {
System.out.println(i);
}
int [] intArray = {1, 3, 5, 7, 9};
int i=0;
while(i<intArray.length) {
System.out.println(intArray[i++]);