• c#入门基础笔记


    1.1:.NET与C#

    1.1.1:.NET概述与C#应用

    .NET是位于WINDOWs平台的一种技术。包含能在.NET FRAMwork平台运行的所有编程。

    1.1.2:IDE环境

    微软退出强大的平台和技术,并提供了强大的开发环境来和支持!!

    1.2:第一个C#程序

    1.2.1:新建程序:

    步骤:

    1启动vs工具

    2新建项目

    3生成可执行文件

    4开始运行

    1.2.2:认识控制台应用程序文件结构

      Program.cs:该文件是启动文件!  扩展名是.cs

      Hello world .exe:这个文件位于目录下,是项目编译后生成的文件,可以直接运行!

    1.2.3:认识C#程序

    n  Namespace:命名空间

    n  Using:导入包的关键字

    n  Class:类名关键字

    n  Main()  方法关键字

    1.3:C#中的变量和常量

    数据类型:

    常用的数据类型

    Java

    C#

    例子

    整型

    Int

    Int

    年龄

    浮点型

    Float

    Float

    成绩

    双精度

    Double

    Double

    圆周率

    字符串

    String

    String

    姓名

    布尔

    boolean

    bool

    是否少数名族

    1.3.2:变量声明规则和常量声明规则

    1,、数据类型+变量名称

    2、const 数据类型+常量名

    1.4:Console类

      1.4.1:输出:console.write();

      1.4.2: 输入:console.readwrite();

    1.5:类和对象

    1.5.1:自定义方法:

    语法:[访问修饰符]  返回值类型   方法名(参数列表)

    {

             方法主体

    }

    1.5.2:理解类和对象:

    类是对象的模板,对象是类的实例(编程世界:万物皆对象)

    1.5.3:注释:

    单行://

    多行:/*

    */

    文档注释:///回车  生成格式

    折叠:#region开始

    结束:#endregion

    1.5.4:调试

      快捷键:

      F5:开始调试

      SHIFT  F5:停止调试

      F9:设置断点或取消断点

      F10:单步执行(跳过)

      F11:单步调入

    第二章:C#语法快速热身

    2.1:选择结构

    2.1.1:if选择结构

    1.单个if:语法:if(条件)                   

    {

    代码块

    }                        

    2.if(条件)

    {

             代码1

    }

    else

    {

             代码2

    }

    3. 3.if(条件)

    {

             代码

    }

    Else  if(条件)

    {

             代码

    }

    4.嵌套:if(条件)

    {

             If(条件)

    {

             代码

    }

    Else

    {

                                代码

    }

             }

    Else

    {

             代码

    }

    l  (嵌套只有当外层满足了才会继续执行内层的结构)

    2.1.2:switch选择结构

    l  此结构的switch的表达式没有要求,可以是int/double/char/string类型

    l  但是case后面必须有break(除非两个case中间没有内容前一个就不用break)

    语法:switch(条件)

    {

             Case 常量表达式1:

             //语句

    Break;必须

    Case 常量表达式2:

             //语句

    Break;必须

    Default:

    //语句

    Break;必须

    }

    2.2:数组与循环

    2.2.1:一维数组

      方括号必须在数据类型后面

    语法:类型[]  数组名

    1. 类型[] 数组名=new 类型[ 此处可加可不加(下标)] {元素1,元素2、等等等、、、、、、、、、}

      获取长度:数组.Length

    2.2.2:对象数组

    • 对象数组就相当于创建的数组元素是由多个对象组成的

    u  语法:类型[]  数组名=new  类型[];

    2.2.3:循环结构

    1.while循环

    语法:while(表达式)

    {

             代码块

    }

    n  先判断再执行

    2.do-while循环

    语法:do

    {

             //代码

    }while(条件)

    l  先执行一次,再判断

    2.     for循环

    语法:for(表达式1(初始值),表达式2(判断条件),表达式3(迭代部分))

    {

                        //代码块

    }

    l  一般用于循环次数确定的情况

    3.     foreach循环

    语法:foreach(元素类型  元素变量名  in  数组)

    {

               //代码块      一般输出时候都是输出(元素变量名)

    }

    2.2.4:跳转语句

    break:跳出循环体,执行循环体后面的操作(执行外层循环)
    continue:结束本次循环,继续此循环结构的下一次循环
     

    2.2.5:二重循环

    定义:二重循环就相当与循环嵌套:外层循环执行一次,内层循环执行全部!!

    2.3:冒泡排序

    2.3.1:冒泡排序算法

    定义一个中间变量 num

    for(i=0;i<长度-1;i++)

    {

           For(j=0;j<长度-i-1;j++)

    {       (从小到大)                (从大到小)

           If(元素[j]>元素[j+1]   或者   元素[j]<元素[j+1]   )

    {

           Num=元素[j]

           元素[j]=元素[j+1]

           元素[j+1]= num

    }

    }     

    }

    最后:遍历数组:就达到了排序的效果(for)

    口诀:N个数字来排队,两两相比小靠前(升序),外层循环N-1,  内层循环N-i-1

    第三章:使用属性升级MyBank

    3.1:private访问修饰符

    Public:公用类的,访问权限最大,级别最高!

    Private:私有的,受保护的,只能在类的内部使用!!

      如果没写:默认internal

    3.2:this关键词

    This:一般都指本对象的,本类的

    可以防止属性(字段)重名的影响!

    3.3:C#中属性

      用方法可以保证数据安全,可以把字段定义一个方法!

    用属性封装字段

    语法:private  string  _name;

    Public  string  Name

    {

         Get{ return _name }

    Set{_name=value}

    }

    1:C#中的属性:C#中的字段一般是私有的,如果要访问这个字段,要通过建立get和set访问器,这种结合字段的方法的实现称为属性

    Get(只读属性(只可以获得)):用来返回相应私有字段的值!(与方法相似)必须用return来实现返回字段的值!执行get访问器相当于读取私有字段的值!

    Set(只写属性(只可以给它设定值)):访问器用来设置相应私有字段的值,类似于void方法。使用了一个隐含的参数,(输入的数字)当属性赋值时,就会调用set访问器,并将新赋的值给予这个字段!!

    2:属性的数据类型:定义一个类的数据类型,属性的数据类型必须和访问的字段类型一致!(例:字段是int型,属性也是int型)

      可以直接创建对象后面加大括号给属性赋值(Student student=new Student(){Age=20};)

    :3.4:值传递和引用传递

    值传递:相当于只是把内容赋值了一份然后传递(但是虽然副本这边可以修改,但是改了;对另一边不会造成任何影响,这边没有改成功!!)

    引用传递:(每一个变量前面都要加ref(形参和实参)):相当于引用了此内容然后进行修改赋值,这样修改的话,就真正意义上的修改成功!

    第四章:深入C#的string类

    4.1:C#中的string类

    字符串的处理方法:

    Equal

    比较字符串具体值是否相等

    Compare

    比较两个字符串的大小关系

    Int a=indexOf(需要找的字符)

    找到此字符的坐标

    Int a=LastindexOf(需要找的最后字符)

    找到此字符的坐标

    String  Join(需要连接的两个字符串)

    连接字符串

    String[] split(需要拆分的对象)

    返回一个数组

    Substring(坐标,坐标)

    截取此坐标区间的字符串

    String ToLower()   String Toupper()  

    转化为小写     转化wie大写

    Trim

    去掉空格及多余的字符

    l  ForMat格式化

    语法:String  myString=String.Format(“格式字符串”,参数列表)

    例:(string.Format(“{0,20}”,name))     name属性值:表示宽度为20,右对齐

    4.2:类型转换

    隐私类型转化:(java中的自动类型转化)例:只要a其取值范围完全包括b取值范围

    就可以进行隐私类型转化

    显示类型转化:(java中的强制转化):当要把范围大的转化为小的,就需要显示转化

     数值与字符串之间的转化:

    字符串转为其他型

    parse();   例:int.parse(console.Readline())

    其他类型转为字符串:

    Tostring();   例:string a=age.Tostring();

    使用Convert类进行转化

    Convert.ToInt32()

    转化为int类型

    Convert.ToSingle();

    转化为Float 单精浮点型

    Convert.ToDouble();

    转化为双精浮点型

    Convert.ToString();

    转化为字符串型

    构造函数(就是在创建这个对象的时候会先调用类那边的一个构造方法(方法名与类名一样,且无返回类型),然后才能创建)就是:

    比如StringBuilder  stb=new   StringBuilder();(无参)     StringBuilder  stb=new   StringBuilder(name);有参

    比如:DBO  dbo=new  DBO();(无参)         DBO  dbo=new  DBO(name);(有参)

    这也算用StringBuilder这个基本类,创建一个对象,

    在创建的过程中,就会默认调用StringBuilder那边的一个无参的构造方法,(只是这种基本类型的那边方法不可见的),一个构造方法

    也可以是有参的,表示那边的放法需要这个参数,才能处理下面的代码,

    public class  StringBuilder 或  DBO     //StringBuilder类

    {

         1.public  StringBuilder(string  name)或  DBO(string name)    //有参的构造方法

             {

                                 string newName=name;//用参数做处理

            

             }

         2. public   StringBuilder() 或DBO()          //无参的构造方法

             {

                //做初始化的地方    

             }

    }

    (此次也用到了方法的重载(方法一样,参数不一样))

    public class  People          //另外一个类  

    {

        1.StringBuilder  stb=new   StringBuilder(name);    //相当于默认在创建对象的之前调用了上面的   public  StringBuilder(string name)有参构造 方法。

        1. DBO  dbo=new  DBO(name);(有参) 

        2.StringBUilder   stb=new   StringBuilder();      //相当于默认在创建对象的之前调用了上面的   public  StringBuilder()无参构造 方法。

        2.DBO  dbo=new  DBO();(无参)

    }

    既然选择了此行业,就要在这个行业闯出一片天!!!!!,我相信自要对编程感兴趣,一定会有所成就!!
  • 相关阅读:
    uni-app-数据缓存
    uni-app-网络请求
    uni-app-上拉加载
    uni-app-下拉刷新
    uni-app-生命周期
    uni-app字体图标
    uni-app-样式
    [Python] ValueError: Unknown resampling filter
    [Python]列表复制以及切片[:][::]解析
    LeetCode 29. 两数相除
  • 原文地址:https://www.cnblogs.com/bdqnwangchao/p/7598360.html
Copyright © 2020-2023  润新知