C#循环语句 for 与 while 以及关键字跳出循环 C#学习杂记(四)

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 跳出整个方法或者函数

returnbreak有很大区别

           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循环同级,但都处于同一个主函数内,所以不会执行

猜你喜欢

转载自blog.csdn.net/qq_40385747/article/details/108928877