c#基础

                      红色为关键字,蓝色为语法,紫色为注意。

第一个c#控制台应用程序:

(打开VS,选择“控制台应用程序”会自动生成c#编程基础框架)

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace HelloWorld(空间名)
 7 {
 8 class Program(类名)
 9 {
10 static void Main(string[] args)
11 {
12 //执行,会向用户显示“Hello World!”
13 Console.WriteLine("Hello World!");//这是手写的
14 }
15 }
16 }
第一个c#程序

注解:
using:导入命名空间
  类似于:import     (Java)
      #include   (c语言)
namespace:用于声明命名空间(定义并创建自己的命名空间)
  类似于:package(Java)
class:声明类
Mian方法:程序入口

一、变量与常量:(命名规则

变量:

  语法:数据类型 变量名;

1、在c#中,变量只有声明且初始化后才可以使用
2、c#中变量名区分大小写

常量:

  语法:const 数据类型 常量名;(通常常量名采用大写形式)

二、注释:(好的注释能使我们更快的了解整个程序)

1、单行注释://

2、多行注释:/*内容*/

3、文本注释:///

三、Console类:(控制台类)

控制台应用程序的标准输入流、输出流错误流

1、输出到控制台:(显示

  Console.write(输出的内容);       //输出不会自动换行

  Console.writeLine(输出的内容);//输出后会自动换行

    类似于:System.out.printIn();  (Java)

          printf();                    (C语言)

2、从控制台输入:(接收

  Console.Read();       //读取第一个字符

  Console.ReadLine();//读取下一行数据(string类型)

3、其他:

  Console.ReadKey();//暂停,按任意键关闭窗口

  Console.Clear();     //清屏

四、数据类型及类型的相互转换:

  1、数据类型:

    

  2、类型转换:(基本类型之间的相互转换)

    a、隐式转换:(自动转换)

      byte(字节)→char(字符)/short(短整型)→int(整型)→long(长整型)→float(单精度)→double(双精度)

    b、显式转换:(强制转换)会丢失精度

        举例:int b=(int)20.3  //结果为:20

    c、常用类型转换方法:

      ⑴、Parse方法:(存在局限性,只适用于字符串转数值类型

        int.Parse(); / float.Parse(); / double.Parse();

       ⑵、Convert类:(两个任意类型的转换

        举例:字符串转换为各类型

            bool:    Convert.ToBoolean(字符串);

byte:    Convert.ToByte(字符串);

char:     Convert.ToChar(字符串);

short:   Convert.ToInt16(字符串);

int:       Convert.ToInt32(字符串);

long:     Convert.ToInt64(字符串);

float:     Convert.ToSingle(字符串);

double:  Convert.ToDouble(字符串);

任意类型转换为字符串类型

string:   Convert.Tostring(任意类型);

 

=======>Convert、Parse、TryParse、(int) 区别

 

五、程序流程控制语句:

  1、判断语句:(if-else)

    语法:if(条件表达式)

       {

        语句1;

       }

       else

       {

         语句2;

       }

    ⑴、“条件表达式”进行判断,结果为真(true),则执行“语句1”;结果为假(false),则执行“语句2”

    ⑵、if判断语句可以进行多层嵌套。

  2、选择语句:(switch-case-default)(又称为“开关”语句)

    语法:switch(表达式)//(相当于获取“钥匙”)

       {

        case 常量表达式1://(相当于“1号房”)与“表达式”相对应,则执行此中“语句1”

            语句1;

           break;//跳转语句

        case 常量表达式2:

           语句2;

           break;

        ......

           default://(相当于“其他房”)当上面选项中都无法与“表达式”相对应是,执行此中“语句”

            语句n;

           break;

       }

    ⑴、c#中表达式的值可以是int、char、string类型的;Java中只能是int、char类型的值。

    ⑵、c#中case和default中的break不能省略;Java中可省。

  3、循环语句:(forwhiledo-whileforeach)

    a、for循环:(先判断后执行)

      语法:for(表达式1;表达式2;表达式3)

         {

          语句;//循环体  

         }

      执行过程:

        ①先对“表达式1”赋初值;
        ②判别“表达式2”是否满足给定条件,若其值为,满足循环条件,则执行循环体内“语句”,然后执行“表达式3”
        进入第二次循环,再判别“表达式2”……;否则判断“表达式2”的值为,不满足条件,就终止for循环,执行循环体外语句。
    b、while循环:(先判断后执行)
      语法:while(条件表达式)
         {
          循环体;
         }
      执行过程:
        ①每次执行循环体前都要对条件表达式进行判断。
        ②这里的“条件表达式”是循环能否继续下去的条件,而语句是循环体。只要表达式为,则执行循环体内语句。否则终止循环,执行循环体外语句
    c、do-while循环:(先执行一次,再判断)
      语法:do
         {
         循环体;
         }while(条件表达式);
      执行过程:
        ①每执行完一次循环体,do…while结构都要判断一下条件表达式。
        ②程序进入do while循环后,先执行循环体内语句,然后判断“条件表达式”的真假,若为真则进行下一次循环,否则为假则终止循环。
        ③该循环语句的特点是,表达式为假时也执行一次循环体内语句。
    d、foreach循环:(c#中新增,主要用于遍历数值或集合;使用foreach遍历是,不会出现下标越界。)
      语法:foreach(数据类型/var   循环变量   in   数组或集合)
         {
         语句块;
         }
      ⑴、数据类型”要与遍历的“数组或集合”类型一致;(否则需要进行显示类型转换)
      ⑵、var”:指示编译器根据初始化语句右侧的表达式推断变量的类型;
      ⑶、循环变量”为只读型的局部变量,在循环体中不能改变它的值。
   4、跳转语句:breakcontinue
    ⑴、break:一般用在“switch"和"循环语句"中;(break是结束整个循环体,continue是结束单次循环.)
    ⑵、continue:
        a、只能用在循环语句中;
        b、在不同的循环中执行continue后,执行顺序
           ①、在while和do-while中,将进行”条件表达式“的判断;
           ②、在for循环中,将进行”表达式3“的计算;
           ③、在foreach中,将判断”数组或集合“中是否存在元素。
六、运算符:
  1、算术运算符:
     +(加)、-(减)、*(乘)、/(除)、%(取于)、++(加加)、--(减减)

  2、赋值运算符:(会进行自动类型转换

     =、+=、-=、*=、/=、%=

  3、比较运算符:(结果是boolean型:true或false
     >、<、>=、<=、!=、==
  4、逻辑运算符:(用于连接两个boolean类型的表达式
     &(与)、|(或)、!(非)、^(异或)、&&(与)、||(或)
     ⑴、^符号的两边如果相同,则结果为false,反之为true。
     ⑵、&&(或||):一但左边为假,右边将不再运算;
       &(或|):无论左边结果是什么,右边都参与运算。
  5、运算符:(直接对二进制进行运算
     <<(左移):           3<<2=12                     >>(右移):    3>>1=1
            >>>(无符号右移):3>>>1=1                     &(与运算):    6&3=2
     |(或运算):           6|1=7                          ^(异或运算): 6^3=5
       ~(反码):             ~6=-7(取反)
     ⑴、左移几位,其实就相当于该数乘以2的几次方。
        3<<2→3*(2*2)=12
        3>>1→3/2=1
     ⑵、一个数异或同一个数两次,结果为这个数。
        6^3^3=6
     ⑶、>>:对于高位出现的空位,原来的高位是什么就用什么来补这个空位;
       >>>:无论原高位是什么,空位都用0补。
     ⑷、   1 1 0 →6
        & 0 1 1 →3
        ---------
         0 1 0 →2
  6、三元运算符:
     (条件表达式)表达式1表达式2
七、数组:
八、函数:(又称方法)
   《函数
==============================================================================
======================上面的会灵活运用,可去完成《c#练习题》中的试题===========================
==============================================================================
小知识:
  负数的进制:这个数的正数二进制取反,加1的二进制
    举例:-6(负数6)
        正数:6              0000-0110
                                             ----------------
           6的取反→    1111-1001
                + 0000-0001
                                              ----------------
          负数的二进制最高为是1→    1111-1010

 ====下一章《c#面向对象

原文地址:https://www.cnblogs.com/pengyouqiang88/p/5021062.html