• C#基础


    1、常量关键字const,例如const double PI=3.14;

    2、变量的声明方法:数据类型 变量名;

    3、数据类型的转换:(1)自动类型转换:2种不同类型的数据运算,低精度类型会自动转换为较高精度的类型。以3.5+8为例,显然数字8的精度较低(int),而3.5的精度较高(double),所以,8会自动转换为double型,即转换为3.5+8.0进行运算,结果为11.5;而 int i=3.0;变量i的精度低于3.0,但是由于i已经声明为int型的变量,变量的值可以变,但变量的类型可不能变来变去的,所以这条命令会出错的

      (2)强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换,比如上例可以这样完成:int i=(int)3.0;需要注意, double 型强制转换为int型将失去小数部分,比如(int)2.8,我们得到的将是2。

    4、标志符的命名规则:

      程序中的变量名、常量名、类名、方法名,都叫做标识符。C#有一套标识符的命名规则,如果命名时不遵守规则,就会出错。这套规则简单说有下面三条:

      ①标识符只能由英文字母、数字和下划线组成,不能包含空格和其他字符。

      错误的标识符声明:string $user; //错在使用了其他字符

      ②变量名不能用数字开头。

      错误的标识符声明:double 6h;//错在用数字开头

      ③不能用关键字当变量名。

      错误的标识符声明:char static ;//错在用关键字static做变量名

    5、算数运算符:(1)2个整数相除,结果仅保留整数部分,小数部分会被舍去。Console.WriteLine(5/10);//输出0

      (2)运算符++和--:age++;age=age+1;作用相同,都是变量的值+1(--类推);age++;age--;也可以写作++age;--age;

      但请注意:如果与其他运算在同一语句中,++写在变量前面或后面,算法不一样,请看下例:

      Console.WriteLine(age++);作用等同于下面两句:Console.WriteLine(age);//先打印 age=age+1;//后自加

      Console.WriteLine(++age);作用等同于下面两句:age=age+1;//先自加 Console.WriteLine(age);//后打印 

    6、逻辑运算符用来连接多个 bool 类型表达式,实现多个条件的复合判断。C#中的逻辑运算符包括:逻辑非( ! )、逻辑与( && )、逻辑或( || )。

    7、if else:

    int x=5;
    if(x>5)
        if(x>7)
            Console.WriteLine("A");
        else
            Console.WriteLine("B");
    else
        Console.WriteLine("C");
    

    ①每一个 else 与前面离它最近的 if 配对。按照这个原则,上面示例代码的两个 else 都与第二个 if 配对,这显然是不可能的,于是又有了第二个原则。

    ②多个 else 都与同一个 if 相近时,最内层的 else 优先配对。这样,第一个 else 处于内层,就与第二个 if 优先配对,第二个 else 只能与第一个 if 配对。上面的示例代码会输出“C”。

    8、三元运算符(条件表达式 ? 分支1 : 分支2):?: 就是条件运算符,可以看到它有3个操作数,所以又被称为三元运算符。它的运算逻辑是:当条件表达式为 true 时,执行分支1;当条件表达式为 false 时,执行分支2;例:

    static void Main(string[] args)
    {
         int year = 2015;//年份
        string text=(year%4)==0?"闰年":"平年";
         Console.WriteLine("今年是{0}",text);
    }

     9、switch(变量):(变量)与每一个 case 后面的常量进行等值比较,如果相等,就执行对应的分支。执行分支以后, break 关键字会使 switch 结构中止,不会再判断后面的常量。如果变量与所有的常量都不相同,则执行 default 后面的分支。

     1 static void Main(string[] args)
     2 {
     3   string job = "处长";//职务
     4   switch (job)
     5    {
     6     case   "局长": Console.Write("发双黄月饼"); break;
     7     case   "处长": Console.Write("发蛋黄月饼"); break;
     8        case   "科长": Console.Write("发枣泥月饼"); break;
     9        default  : Console.Write("发五仁月饼"); break;
    10    }
    11 }

    10、&和&&的区别:

    1)&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

    2)&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null &&!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException,如果将&&改为&,则会继续判断是否equals,而实际上str是null,则抛NullPointerException异常。如下示例,If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长

    int x = 22;
    int y = 2;
    if (x >= 33 && ++y > 0)
    {
        Console.WriteLine(y);
    }
    Console.WriteLine(y);
     
    if (x >= 33 & y++ > 0)
    {
        Console.WriteLine(y);
    }
    Console.WriteLine(y);
     
    Console.ReadKey();

    3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

    11、for循环:for (int i=1<初始条件>;i<=n<循环条件>;i++<状态改变>){ 循环体 } ;for 循环运行时,首先进行变量声明和赋值;接下来判断循环条件,若条件为 true ,则执行循环体一次,若条件为 false ,则结束循环;执行循环体后,进行变量自加。然后会进入下一次循环;

    12、do...while 循环第一次执行循环体是没有经过条件判断的,也就是说会无条件的执行一次循环体

     1         static void Main(string[] args)
     2         {
     3             int x = 2;
     4             do
     5             {
     6                 x++;
     7                 Console.Write(x+" ");
     8             }
     9             while(x>2&&x<=4);
    10         }

    13、

    1、c#中一个类只能继承一个类,单继承;

    2、当子类下面有一个与父类相同的方法时,建议用new 声明一下,如果其他地方调用的时候声明的是父类,创建的确实子类的实例,例如:Pet dog=new Dog();其中Pet为父类,Dog为子类,如果父类与子类都有PrintName的方法,这里dog.PrintName调用的就是父类的方法,如果是 Dog dog=new Dog(),dog.PrintName调用的则是子类自身的方法(隐藏方法);

    3、基类的virtual 虚方法,子类可以进行override重写,如果不进行重写则使用的就是基类的方法,基类的virtual方法不能是provide;

    4、子类继承父类,构造函数的运行顺序:先运行父类然后再运行子类的构造函数;与析构函数正好相反,析构函数(~函数名());

  • 相关阅读:
    UGO小组冲刺第一天
    day04_07-三个函数的区别
    day06_08 字符串
    day06_07 字典操作02
    day06_06 字典操作01
    day06_05 字典
    day06_04 购物车讲解02
    day06_03 购物车讲解01
    day06_02 元组
    day06_01 上节回顾
  • 原文地址:https://www.cnblogs.com/allen0/p/9440493.html
Copyright © 2020-2023  润新知