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

  • 相关阅读:
    PHP中的list方法
    PHP通过引用传递参数
    PHP浮点数的精确计算BCMath
    cssViewer牛逼的chrome插件
    Chrome浏览器插件VisualEvent,可以方便的查看页面绑定的事件
    Javascript水平提升
    360良心制作fonts.useso.com
    PHP函数htmlspecialchars_decode
    ecshop移动端支付宝支付对接
    转:阿里旺旺导致python安装包失败的解决办法
  • 原文地址:https://www.cnblogs.com/wjs5943283/p/5239196.html
Copyright © 2011-2022 走看看