1、for循环
(1)for 循环有一个基本固定的写法,for(int i = 0; i < 10; i++),类似这样
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);//循环十次,打印 i
}
(2)for 循环简单应用,求 [0-100] 的偶数累加和:
int sum = 0;//用于存结果
for (int i = 0; i <= 100; i++)
{
if (i % 2 == 0)//判断是否为偶数
{
sum += i;//与sum = sum + i 写法等同
}
}
(3)for 循环嵌套,经典百鸡百钱问题
问题:5文钱一只公鸡,3文钱1只母鸡,1文钱3只小鸡,总共100文钱要买100只鸡,小鸡不能分开买,输出所有可能的组合。
for (int i = 0; i < 21; i++)//i表示公鸡的数量
{
for (int j = 0; j < 34; j++)//j表示母鸡的数量
{
int k = 100 - j - i;//k表示小鸡的数量
if (i * 5 + j * 3 + k / 3 == 100 && k % 3 == 0)
{
Console.WriteLine("公鸡{0} ,母鸡{1},小鸡{2}", i, j, k);
}
}
}
2、while循环
int i = 0;
while (i <= 100)
{
Console.WriteLine(i);//循环打印 i
}
while循环中还有一种do while 循环
int i = 0;
do
{
Console.WriteLine(i);
i++;
} while (i < 0);
可以看出,do while循环,是先执行内部语句,再判断执行条件,所以说,即便一开始执行条件就不满足,也会执行一次内部语句
3、使用关键字跳出循环
(1)break 跳出当前所在循环
例如
int j = 0;
for (int i = 0; i < 10; i++)
{
for (; j < 10; j++)
{
if (j == 5)
{
break;
}
}
Console.WriteLine(j);
}
从上面的例子可以看出来break 的作用,是跳出当前所在的循环,如果是在嵌套中内层循环中使用,则只会跳出内层循环,外层循环仍然继续执行。
(2)continue 跳出本次循环
for (int i = 0; i <= 5; i++)
{
if (i == 3)
{
continue;
}
Console.WriteLine(i);
}
从输出的的结果可以看出,程序遇到continue就不会执行本次循环中的其他语句,而是跳到下一次循环
(3)return 跳出整个方法或者函数
return与break有很大区别
for (int i = 0; i <= 5; i++)
{
if (i == 3)
{
return;
}
Console.WriteLine(i);
}
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
可以看出来,程序遇到return,其他的语句都不会执行,因为return是直接跳出整个方法或者函数,第二个for循环,虽然是和第一个for循环同级,但都处于同一个主函数内,所以不会执行