C# - 转义字符,赋值运算符,赋值表达式 011
转义字符(单个字符)
转义字符:指的是一个\+一个特殊的字符,组成了一个具有特殊意义的字符
比如一些特殊字符前加[\]来表示常见的那些不能显示的 ASCII 字符,如 \"、\n、\t 等,就称为转义字符;因为后面的字符,都不是它本来的 ASCII 字符的意思了
ASCII码只需记住几个关键码: 32(空格) 48(0) 65(A) 97(a),一般用于游戏中方向控制
转义字符的分类: \(反斜杠)(用于转义)与@(消除转义原有功能,字符型除外)
1 \(反斜杠)+特殊字符(重要的红色标注)
1.1 \" 在字符串中输出双引号
1.2 \' 输出单引号
1.3 \\ 输出反斜杠\
1.4 \t 制表符 输出一个tab键的空格,有使输出字符串对齐功能
按一下tab键相当于空出7个空格,最重要的是具有文本对齐功能
1.5 \n 使字符串中\n后面的字符或字符串换行显示
1.6 \r 回车 表示回到本行的开始位置,\r之后的文本会覆盖\r之前的文本
\r\n 连用,表示跳到下一行,并且返回到下一行的起始位置
1.7 \b 退格键;会删除\b前面的一个字符
1.8 \a 警报符(比如VS插件不兼容发出的声音) \0 输出一个空字符 \v 一个带箭头的字符
除了红色标注的有可能用到,其他的了解即可
2 @ 有两个作用 1)消除转义字符原有功能(字符型除外) 2)可以实现多行输出
2.1 消除转义字符原有功能(字符型除外)
2.2 可以实现多行输出
小案例:使用\t打印输出九九乘法表
使用@输出需要手动设置间距,自己编写测试;之后使用循环语句就省事多了
赋值运算符与赋值表达式
1 赋值运算符 = 也称赋值号;不是数学意义上的等于号
赋值运算符:是将右侧的值赋值给左侧的变量(两侧数据类型必须一样(暂时这么说))
string name="张三";
int age=18;
//赋值规范 约定俗成的规范最好遵守
//true表示男 false表示女
//或者 1 表示男 0 表示女
bool gender=true;
...
如:int age=18; 将数据18存储在内存中开辟的一块别名为age的整形数据类型的空间内,其他类型的赋值过程与此类似,不再赘述;变量名(别名),变量值数据类型之前说过
2 赋值表达式
表达式:将同类型的数据(如常量、变量、函数等)用运算符号按一定的规则连接起来的、有意义的式子称为表达式;每一个表达式都可以求解出一个值
赋值表达式:使用赋值运算符=连接起来的式子 如 a=a+1;
变量可以重复赋值,每次赋新值就会覆盖老值,所以age=19;
//数学中的表达式
a=1 a=a+1
a=3 b=3 c=a+b //c=6
//程序中的表达式
int a=1; a=a+1;
int a=3; int b=3; int c=a+b; //c=6
程序中的赋值表达式与数学中表达式的最终目的一样,右侧相加的结果赋值给左侧
1)通过变量名age找到内存中该变量名对应的内存存储空间的地址
2)读取该地址内的数据 18 放进内存的累加器中
3)在累加器中对 18与 1进行运算,将运算的结果重新赋值给变量age(会覆盖原有值)
4)当打印输出age时,再次读取内存中变量age的值时,此时的值已是 19
c=a+b; 计算赋值过程与上面类似,不同的是读取了两个变量中的值
在内存中运算时肯定会对两个操作数类型的检测,赋值时也会对被赋值与结果值检测
//以下是以排除类型转换因素为前提
int a=3; float b=3; double c=a+b;
//首先检测 a与b的类型是否一致,然后再运算
//赋值给c时,会检测 c与 a+b的结果值类型是否一致
//不过VS会实时检测代码是否符合C#语法,不符合根本编译不了
//猜测 不管VS检测代码中赋值表达式书写正确与否,内部检测应该少不了
变量最终输出的值取决在于什么时候使用,不论后面如何加减乘除不影响当前输出值
3 赋值表达式的优先级中 = 赋值符最低即只在最后将右侧结果赋值给左侧变量
4 + 在数值类型运算中表示得到操作数(两个及以上相同类型)的和,是算术表达式加减乘除取余中的一种
float num1=3.14f;
float sum=num1+3+6+6.6;
+ 在字符串类型中表示连接的意思,只要+一边是字符串即可