C#传智:变量基础(第二天)

Posted dzweather

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#传智:变量基础(第二天)相关的知识,希望对你有一定的参考价值。

一、注释符
    不写注释是流氓,名字瞎起是扯蛋。
    注释作用:解释与注销
    命名:
       以字母、_、@开头,里面只能有_与@特殊符,其它不得出现如%*&^等。
       不能与关键字重复。区分大小写,Num与num不是同一变量。html不区别。
       变量不得重复定义。
    Camel (变量命名)首单词小写,后继单词首字母大写:highSchoolStudent
    Pascal (类方法)每个单词首字母大写:HighSchoolStudent
    
二、三种注释
    1.单选注释//
    2.多行注释 /*  要注释的内容 */
    3.文档注释 /// 解释类或方法
    
三、快捷键
    Ctrl+Shift+F10自动添加Using
    Ctrl+M 空格:快速对齐代码 插件CodeMaid
    Ctrl+M,Ctrl+M折叠/展开当前   Ctrl+M,Ctrl+O/L折叠/展开全部
    Ctrl+Z:撤销
    Ctrl+S:保存(一定要经常保存!)
    Ctrl+J:快速弹出智能提示
    
    Home/End 回到本行的行首/行尾
    Ctrl+Home/End 回到本页的页首/页尾
    Shift+End、Shift+Home 
    Ctrl+K+C:注释所选代码
    Ctrl+K+U:取消对所选代码的注释
    F1:转到帮助文档
    #Region 和#EndRegion 折叠冗余代码
    
    按住Alt可以选择竖向方框,此时输入文字,则每行有同文字。    Table与Shift一样可以进退。
    例如,连续多行变量同时输入Public,则在多行变量前按Alt选择后直接输入Public完成。

    F9下断点  Ctrl+F9启用/停止断点 Ctrl+Shift+F9删除所有断点 
    F10逐过程 F11逐语句 Ctrl+F10运行到光标处
    F5调试执行 Ctrl+F5直接执行(忽略断点)     F4显示属性  F7打开代码 
  
     Shift表示整个项目。例如 Ctrl+S保存当前文档,Ctrl+Shift+S保存整个项目文件
     Ctrl+F当前文档查找 Ctrl+Shift+F整个项目查找  
     Ctrl+Shift+V调出剪贴板选择其中的记录使用  双击单词选中一个单词 Ctrl+D同时复制与粘贴
     Ctrl+-/+ 回到上一个/下一个光标处
     
    插入片段两次Table,例Cw后两次Table,或prop两次tab,设置修改:工具->代码片段管理器->CSharp
    窗口过小用自动换行查看CtrlE,W,不用拉滚动条看。 Ctrl+左右箭头一次一个单词
    
    Shift+Enter 快速进入下一行。

四、变量
    变量类型 变量名;
    变量名=值;
    int number;
    number=100;
    同类型可用逗号分开并列写出: int a,b,c=4,d;
    
    1.整形
    sbyte    -128 到 127    8位带符号整数    System.SByte
    byte    0 到 255    无符号的8位整数    System.Byte
    
    short    -32,768到32,767    有符号16位整数    System.Int16
    ushort    0到65,535         无符号16位整数    System.UInt16
    
    int    -2,147,483,648到2,147,483,647  带符号的32位整数 System.Int32
    uint 0到4,294,967,295              无符号的32位整数 System.UInt32
    
    long    -9,223,372,036,854,775,808到9,223,372,036,854,775,807    64位带符号整数    System.Int64
    ulong    0到18,446,744,073,709,551,615                            无符号64位整数    System.UInt64

    nint    取决于(在运行时计算的)平台    带符号的32位或64位整数    System.IntPtr
    nuint    取决于(在运行时计算的)平台    无符号的32位或64位整数  System.UIntPtr
    
    
    2.浮点
    float    ±1.5x10^-45 至 ±3.4 x 10^38        大约6-9位数字       4个字节    System.Single
    double    ±5.0×10^−324到 ±1.7 × 10^308    大约15-17位数字       8个字节    System.Double
    decimal    ±1.0x10^-28 至 ±7.9228x10^28    28-29 位           16个字节    System.Decimal
    
    decimal d=5.55m;
    decimal d=5.55;//错误
    
    3.字符与字符串
    char gender = '男';//单引号。最多最少存储一个字符,不能为空
    string a = "2313"; //双引号。零或多个字符,可为空

五、提示
    绿色波浪线警告,可运行。红色波浪线错误,不可运行。
    蓝色字体关键字,独属于C#;  绿色的关键字,属于.Net。
    string b = "张三";
    String c = "李四";//大写 绿色
    异常:语法无错,但不合逻辑Bug.
    
六、赋值
    = 将右端赋值给左端。==与!=是比较,结果为bool.
    + 加/连接。数值相加;(只要有一个是字符串)则连接作用。Console.WriteLine(5 + "5");//55
    
七、占位符
    挖个坑,再填个坑。只能多填不能少填。
    int n1 = 10, n2 = 20, n3 = 30;
    Console.WriteLine("第一个0,第二个1,第三个2.", n1, n2, n3);//10,20,30
    
    输出顺序:按挖坑顺序
    Console.WriteLine("第一个0,第二个2,第三个1.", n1, n2, n3);//10,30,20
    Console.WriteLine("第一个0,第二个2,第三个1.", n1, n2);//少填,出错
    
    //不使用第三方的变量交换数值 差值法
    int n1 = 10, n2 = 50;
    n1 = n1 - n2;// n1: n1-n2 (关键->求出差值)
    n2 = n1 + n2;// n2: (n1-n2)+n2=n1
    n1 = n2 - n1;// n1: n1-(n1-n2)=n2
    Console.WriteLine("0,1", n1, n2);
    
    //不使用第三方的变量交换数值 和值法
    int n1 = 10, n2 = 50;
    n1 = n1 + n2;//求和  (关键->求出和值)
    n2 = n1 - n2;//求出n1
    n1 = n1 - n2;//求出n2
    Console.WriteLine("0,1", n1, n2);
    
八、接收信息
    string name=Console.ReadLine();//接收一行的数据,按回车结束
    char   gender=Console.ReadKey();//接收一个字符,按键即结束
    
九、转义符
    定义:'\\'+特殊符号,组合成一个特殊意义的字符
    \\n 换行。windows老版本控制台识别,但文本不认(用\\n\\r)。在Mac两者都认.
       最新版2022net framework4.7时,两者都认,注意\\n\\r会当作两次换行。
    \\t 输出一个tab,排版对齐
    \\" 英文半角双引号
    \\b Backspace退格键,删除\\b前一个字符.置于字符串的两端时不会起作用。
    \\\\ 表示一个\\。字符串前面加@,则取消\\的转义作用。下面均正确,但第二句显示的是两个\\\\
       string str = @"E:\\1\\2\\3\\4\\5\\6.txt";
       string str = @"E:\\\\1\\\\2\\\\3\\\\4\\\\5\\\\6.txt";
       string str = "E:\\\\1\\\\2\\\\3\\\\4\\\\5\\\\6.txt";
       @还起到保留原格式输出:
       Console.Writeline(@"今天天气好
          真的是好!");//输出中也是换行的
    char c='\\b';//尽管两个字符,但\\起转义作用不是字符,表示一个退格意思,故是正确的
    char c='bb';//错误
    
十、算术运算符
    + 加法/连接
    - 减
    * 乘
    / 除以.参与数全为整数时,结果只能为整数(四舍五入)
    % 求余
    
十一、类型转换
    = 等号两端的类型必须一致,若不一致时:
    隐式转换(自动转换,小范围转大范围)
    byte->    short、ushort、int、uint、long、ulong、float、double、decimal、nint 或 nuint
    sbyte->    short、int、long、float、double、decimal 或 nint。
    short->    int、long、float、double、decimal 或 nint
    ushort->    int、uint、long、ulong、float、double、decimal、nint 或 nuint
    int->    long、float、double、decimal 或 nint
    uint->    long、ulong、float、double、decimal 或 nuint
    long->    float、double 或 decimal
    ulong->    float、double 或 decimal
    float->    double
    nint->    long、float、double 或 decimal
    nuint->    ulong、float、double 或 decimal
    
    提升类型时注意。如int->double
        int a = 10, b = 3;
        double c = a / b;//3 右侧整型结果
        double d = 1.0 * a / b;//3.3333 右侧先提升double,再隐匿除整数b
        double e = 1.0 * (a / b);//3  右侧先结果3,再提升double,仍为3
        Console.WriteLine("0:0.000", d);//占位符确定小数位置(四舍五入)
        
    显式转换(强制转换,两者兼容,大转小)
    (要转类型)被转类型;
    double n1 = 303.6;
    int n2 = (int)n1;//303,取整,不能四舍五入

    1.类型兼容时,用显式或隐式转换。
    2.类型不兼容时,用Convert进行转换。
      注意:必须能转,面上过得去。
        string s = "23422";
        double d = Convert.ToDouble(s);
        int n = Convert.ToInt32(s);

以上是关于C#传智:变量基础(第二天)的主要内容,如果未能解决你的问题,请参考以下文章

c++学习第二天

第二天C#学习

C#传智: 调试与For循环(第5天)

在传智的第14天

小白挑战学c语言第二天----基础语法

第二天 Java基础