zoukankan      html  css  js  c++  java
  • 循环语句中 bark,continue,return

     循环语句中常常出现bark,continue,rturnl来配合自己的循环来达到某种需求.

    一。break
        1. break语句形式: break;
        2. break语句功能:
           A. 在switch语句中,break是其语法本省的一部分,break语句会终止其后语句的执行,退出switch语句。
           B. 使一个循环立即结束,也就是说在循环中遇到break语句时,循环立即终止,程序转到当前循环体后的第一个语句去继续执行。
        3. 注意:
           A. break语句在循环中使用时,一般总是与if一起使用,当条件满足(或不满足)时,负责退出循环。
           B. 如果循环体中使用switch语句,而break出现在switch语句中,则它只用于结束switch,而不影响循环。
           C. break语句只能结束包含它的最内层循环,而不能跳了多重循环。
        4. 例: break语句的执行只能从while循环中退出,继续执行for循环的其它语句
    而不是退出外层循环。

                 for( )
                 {
                    …
                    while ( )
                    {
                        if( )
                        {
                            break ;
                        }
                    }
                    …
                 }
    二。continue  
        1.continue语句形式: continue;
        2.continue语句功能:   它只能出现在循环体中,其功能是立即结束本次循环,即遇到continue语句时,不执行循环体中continue后的语句,立即转去判断循环条件是否成 立,即中止当次循环进入下一次循环。 
        3.Continue与break语句的区别: continue只是结束本次循环,而不是终止整个循环语句的执行,break则是终止当前整个循环语句的执行,转到当前循环语句后的下一条语句去执行。
         程序表达式及流程图如下:
    (1.)  while(表达式1)                         (2.)  while(表达式1)
           {                                                      {
                 ……                                                  ……

                 If(表达式2) break;                              if(表达式2) continue;
                 ……                                                   ……

           }                                                      }

    三.Return  
        1.return语句形式: return (返回值);
        2.功能:return可以返回一个函数的值,并且跳出结束这个函数;
    只要遇到return语句,程序就在那一行代码停止执行,执行控制将立刻返 回到调用该程序的代码处。
    对于返回值类型为void的程序,return关键字单独作为完整的语句使用:return;
    实例:

    1)当return一个string类型时:以把一个字符串转换为小写为例

            //把一个字符串转换为小写并返回,功能同string.ToLower
            public static string ToLower(string str)
            {
                char[] array = new char[str.Length];   //定义一个字符数组,长度刚好等于给定的字符串的长度
                int diff = 'a' - 'A';   //计算差值,ASCII码值是A<a(固定的,不用知道这个差值多少)
                //使用一个循环读取给定的字符串,每次读取一个字符
                for (int i = 0; i < str.Length; i++)
                {
                    char ch = str[i];  //把当前循环读取的字符赋值个ch
                    char newch = '\0';
                    //判断这个字符是否是大写
                    if (char.IsUpper(ch))
                    {
                        newch = (char)(ch + diff); //转换为小写
                    }
                    //如果这个字符为小写,不转换
                    else
                    {
                        newch = ch;
                    }
                    array[i] = newch;  //把转换后的字符放回字符串该循环位置
                }
                return new string(array);
            }

    2)当return一个数组时:以返回一个int类型数组为例

         注意:return一个数组时,在使用的这个方法的时候,要在使用时声明一个同类型的数组用于接受方法返回的数组

    public class Contains
        {
            // 按顺序输出小于给定数字的所有带7的数字及7的倍数
            public static int[] Contains7(int number)
            {
                int n = 0; //用于记录计算出来的符合要求的结果数目
                for (int i = 1; i <= number; i++)
                {
                    //判断是否为7的倍数
                    if (i % 7 == 0)
                    {
                        n++;//*注意了 循环语句中不会给你自增,如果你不写这段代码..程序会出现死循环 i始终等于7
                        continue;
                    }
                    string str = i.ToString();
                    if (str.Contains('7'))
                    {
                        n++;
                    }
                }
                int[] arry = new int[n];//声明一个整形数组存放结果,长度刚好等于符合要求的个数
                int index = 0;
                //List<int> arry = new List<int>();
                for (int j = 1; j <= number; j++)
                {
                    //判断是否为7的倍数
                    if (j % 7 == 0)
                    {
                        arry[index++] = j;
                        continue;
                    }
                    string str = j.ToString();
                    if (str.Contains('7'))
                    {
                        arry[index++] = j;
                    }
                }
                return arry;
            }
            public static void Main(string[] args)
            {
                Console.WriteLine("请输入一个数:");
                int count = Convert.ToInt32(Console.ReadLine());
                //声明一个整形数组用于接收(静态类)
                int[] arry = Contains.Contains7(count);
                //循环输出结果
                for (int i = 0; i < arry.Length; i++)
                {
                    Console.Write("{0}\0", arry[i]);
                }
                Console.Read();
            }
        }

    这是我自己写的集体的例子来分析下上面三种语句的应用

      int i=0;

      which(i<12)

      {

        Console.Write("i={0}",i)

        i++;

        if(i==10)

          {

              //break  //终止which循环,继续which后面的代码;

              //contrue //终止which这次循环,继续which后面的代码;

              return //终止当前执行的函数,后面的代码不会执行

          }

          Console.Write("自增后的i={0}",i)

      }

      Console.ReadKey();

      }

  • 相关阅读:
    c++ 设计模式6 (Decorator 装饰模式)
    c++ 设计模式7 (Bridge 桥模式)
    c++ 设计模式8 (Factory Method 工厂方法)
    c++ 设计模式9 (Abstract Factory 抽象工厂模式)
    C++类设计2(Class with pointer members)
    C++类设计1(Class without pointer members)
    算法总结—链表
    C++对象内存模型1(堆栈模型)
    PHP 页面编码声明方法详解(header或meta)
    php变量与数组相互转换的方法(extract与compact
  • 原文地址:https://www.cnblogs.com/fried/p/2630925.html
Copyright © 2011-2022 走看看