zoukankan      html  css  js  c++  java
  • C#基础系列问题一break、continue、return、goto语句

    一。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;
                 ……                                                   ……

           }                                                      }

    三.goto
        1.goto语句形式:goto语句是无条件转向语句,其一般形式为:goto 语句标号;
        2.功能:goto语句往往用来从多重循环中跳出。它在解决一些特定问题时很方便,但由于goto语句难于控制,尽量少用。
        3.例:

           当程序执行到goto语句时它会跳转到goto语句指向的语句标号开始执行
               IN:
                  For()
                  {
                       ……
                       Goto IN;
                  }
                

    四.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++;
                        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();
            }
        }

    希望有志同道合的人可以加入到群128874886,一起学习,一起分享,一起进步!
  • 相关阅读:
    arcgis for silverlight 控制图层显示级别
    Telerik for silverlight RadAutoCompleteBox 动态数据源
    ARM嵌入式学习--OK6410裸板程序--2.GPIO控制LED跑马灯(从ARM汇编跳转到C语言)
    ARM嵌入式学习--OK6410裸板程序--1.GPIO控制LED
    Linux内核移植--1.添加NAND Flash分区
    Linux 快速释放端口与释放内存缓存
    jquery ajax session超时处理
    相濡以沫不如相忘江湖
    SQL Server数据库无法启动(万金油解决办法)
    多显示器实现屏幕扩展(VGA DVI HDMI)
  • 原文地址:https://www.cnblogs.com/feiyangqingyun/p/1973402.html
Copyright © 2011-2022 走看看