zoukankan      html  css  js  c++  java
  • 如鹏网.Net基础1 第三章:C#语言基础2

    本章主干知识点:

    1、for循环;案例:1累加到n、日月选择界面;

    2、while循环和do……while循环;

    3、break和continue的区别;

    4、如何声明一维数组;如何给一维数组赋值;如何遍历一维数组;

    5、数组案例:手机号算命;

    6、方法的声明:方法名、参数、返回值;

    7、方法的重载:两个方法名字相同,参数不同才能构成重载,和返回值无关;

    8、可变长度参数params,params必须是最后一个参数,而且是数组类型;

    ------------------------------------------------

    第 1 节 For循环入门

      循环结构有:for,while,do...while三种

      1、for结构

      for(初始化表达式;循环条件表达式;循环后的操作表达式)

      {

         //循环体语句

      }

      最开始先执行“初始化表达式”(只执行1次),然后循环执行:先判断“循环条件表达式”,如果为true,则执行“循环体语句”,然后执行循环后的操作表达式;

      练习:

          打印 100-200

          打印10-1

          打印 10-30之间所有偶数 

    -----------------------------------------------

    第 2 节 For循环练习讲解

    ------------------------------------------------
    第 3 节 For循环案例:1加到n(震撼的算法)

      for循环容易出错的点:

        1.初始化是0还是1

        2.条件是小于还是小于等于

      时间复杂度:o(n):y=x  (数越大,步数越多)

            o(1)    (就1次)

      空间复杂度:?

      经验1:高效的实现用户的要求,很重要。

      经验2:很多算法可以把一段程序简化到不可思议的程度(数学知识等)

    ------------------------------------------------
    第 4 节 For循环案例:月日选择

    ------------------------------------------------
    第 5 节 while循环

      while(条件表达式){

        //循环体(条件表达式为true)

      }

      "死循环"

      1.while(true)

      {

      }

      2.for(;;)

      {

      }

      // i++    i 在前,先取i

      //++i     i在后,先+后取i

    ------------------------------------------------
    第 6 节 dowhile和break、continue

      1.do while循环

        1、do

        {

           执行语句

        }

        while(条件表达式);

        2、先执行一次“执行语句”再判断“条件表达式”决定是否进入下次循环。

        

        3、do...while和while的主要区别:do...while的执行语句至少执行一次,while的执行语句可能一次都不执行。do...while用的更少,到具体应用时再说。

      2.break continue

         实现满足某个条件时终止循环

        break和continue可用到for,while,do while循环中。

        break:终止整个循环(不再循环了)

        continue:终止当次循环(跳过一下,继续后续循环)

      注意:在for循环嵌套时,break(continue相同)只终止离他最近的循环(往外层看)

    ------------------------------------------------
    第 7 节 数组的声明和使用

      1.定义

        类型[] 数组名 =new 类型[个数];//定义时必须确定个数

        int[] arr=new int[5];(默认构造函数,初始化:默认5个为0)

        数组的序号从0开始;

        int[] arr1={1,2,3,4,5};(确定个数和内容)

    ------------------------------------------------
    第 8 节 数组的遍历及案例

        for循环(0,1,2,3.。。。。length-1)

        arr.Length 数组的长度

        int,double,float等数组,没有赋值的元素初始化为0

        string等引用类型初始化为null

        IndexOutOfRangeException 越界异常(不能取>=Length)

        动态数据List等集合。

    ------------------------------------------------
    第 9 节 手机号算命程序1

      1.不要多个if嵌套,使用 return;    //退出当前方法

      2.char.IsDigit  判断全是十进制数字

    ------------------------------------------------
    第 10 节 手机号算命程序2

      运算符优先级问题()神器

    ------------------------------------------------
    第 11 节 手机号算命程序3

      注意:小数在计算机中二进制近似存储的问题

      小数一般都是近似存储的。

      0.1 和 0.099999999324的区别

      命理数 就是 求余

      查表法:一个数组

    ------------------------------------------------
    第 12 节 方法入门

      方法又叫函数

      方法就是一堆可以重复使用的代码

      方法是声明在类中的

      格式:

      返回值类型 方法名 (参数类型 参数1,参数类型 参数2.....){

        //方法体

      }

      目前来讲所有方法都先加上static,以后讲why

    ------------------------------------------------
    第 13 节 方法的细节问题说明

      1.方法就是一堆可以重复使用(复用)的代码段。方法执行过程中无法确定的数据以参数形式传递过来;方法的执行结果以返回值进行返回。

      2.方法可以没有参数;方法可以没有返回值(void)

      3.方法中用return返回处理结果,执行return之后方法内部的代码就执行结束了

      4.如果(void)没有返回值,则在需要执行结束的地方return;,如果没写return,则在最后一句相当于return;

      5.不能在方法中定义方法。

      6.方法中的局部变量不能被调用的方法访问,如果真要访问只能通过参数传值,并且只是相当于变量赋值,方法内部对参数赋值不会影响调用者。

      (参数的名字是方法内部用来获得用户传入数据的。我也不知道用户调用我的时候传递的变量名是什么)

      (调用方法的时候也不用管方法参数的名称是什么,调用者无法获得方法内部任何数据,return out  ref除外。)

      7.方法的所有路径必须都要有返回值。 

    ------------------------------------------------
    第 14 节 数组案例讲解和练习说明

       1.不是所有的路径都有返回值。

             /// <summary>
            /// 判断一个字符串是否全由数字组成
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static bool AllIsDigit(string  str){
                
                for(int i=0;i<str.Length;i++){
                    if(!char.IsDigit(str[i])){
                           return false;
                       }
                }
                //如果运行到此,就说明所有的字符都是数字。
                return true;
            }
            
            /// <summary>
            /// 返回int数组的和
            /// </summary>
            /// <param name="ints"></param>
            /// <returns></returns>
            public static int Sum(int[] ints){
                int sum=0;
                for(int i=0;i<ints.Length;i++){
                    sum=sum+ints[i];
                }
                return sum;
            }

    ------------------------------------------------
    第 15 节 方法重载

      重载(overLoad):在同一类中,允许存在一个以上的同名方法,只要其参数个数参数类型不同即可,与返回值无关。

      编辑器会通过参数来调用相应的方法。

    ------------------------------------------------
    第 16 节 可变长度数组params

      可变参数可以声明为各种类型;

      可变参数前面可以有其他参数,只要合格证可变参数是最后一个就可以。

    ------------------------------------------------
    第 17 节 封装MessageBox及文档注释

      1.MessageBox常用的几个静态方法

        Show(string text)

        Show(string text,string caption)

        DialogResult Show(string text,string caption,MessageBoxButtons buttons,MessageBoxIcon icon);

        buttons为要显示的按钮,icon为显示的图标, DialogResult 为用户点击了哪个按钮

      每次调用都传一堆参数很麻烦,封装一下:

        ShowError:提供指定标题和默认标题两种重载

        ShowYesNo:

          弹出一个提示消息(图标Question ,Yes/no按钮)

          参数:消息内容 ,消息标题

          返回值:boolean(yes->true ,no->false)

      2.文档注释:

        XML格式的

        <summary> 摘要

        <param> 参数的含义

        <returns>返回值含义

    如鹏网:http://www.rupeng.com

  • 相关阅读:
    三数之和
    罗马数字与整数
    Oracle 开启或关闭归档
    Oracle RMAN scripts to delete archivelog
    Oracle check TBS usage
    Oracle kill locked sessions
    场景9 深入RAC运行原理
    场景7 Data Guard
    场景4 Data Warehouse Management 数据仓库
    场景5 Performance Management
  • 原文地址:https://www.cnblogs.com/wjs5943283/p/5239196.html
Copyright © 2011-2022 走看看