蓝鸥科技C#简单笔记
视频:https://ke.qq.com/course/112228(腾讯课堂)
https://chuanke.baidu.com/v4702151-162016-691420.html (百度传课)
https://chuanke.baidu.com/v4702151-232177-1660900.html(百度传课)
主函数
main()函数是主函数.
一个程序必须有且只有1个主函数作为入口.
注释
1单行注释: //开头的一行语句为单行注释
2多行注释: /* 注释块 可以有多行注释*/
3文本注释: ///开头的为文本注释.可解释函数和类的功能.
变量,常量和数据类型
变量的声明
声明语法: 数据类型 变量名;
赋值语法: 变量名=值;
声明并赋值语法: 数据类型 变量名=值;
常量
语法: const 数据类型 常量名=值;//常量的值定义后不可更改,否则出错.
数据类型
类型 | 描述 | 范围 | 默认值 |
---|---|---|---|
bool | 布尔值 | True 或 False | False |
byte | 8 位无符号整数 | 0 到 255 | 0 |
char | 16 位 Unicode 字符 | U +0000 到 U +ffff | '\0' |
decimal | 128 位精确的十进制值,28-29 有效位数 | (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 | 0.0M |
double | 64 位双精度浮点型 | (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 | 0.0D |
float | 32 位单精度浮点型 | -3.4 x 1038 到 + 3.4 x 1038 | 0.0F |
int | 32 位有符号整数类型 | -2,147,483,648 到 2,147,483,647 | 0 |
long | 64 位有符号整数类型 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0L |
sbyte | 8 位有符号整数类型 | -128 到 127 | 0 |
short | 16 位有符号整数类型 | -32,768 到 32,767 | 0 |
uint | 32 位无符号整数类型 | 0 到 4,294,967,295 | 0 |
ulong | 64 位无符号整数类型 | 0 到 18,446,744,073,709,551,615 | 0 |
ushort | 16 位无符号整数类型 | 0 到 65,535 | 0 |
sizeof 方法。
表达式 sizeof(type) 运算符返回给定类型的变量所占用的字节数。
static void Main(string[] args)
{
Console.WriteLine("Size of int: {0}", sizeof(int));//输出4.因为int类型占4个字节
Console.ReadLine();
}
运算符和表达式
算术运算符
运算符 | 描述 |
---|---|
+ | 相加 |
-负号或减号 | 相减或负号 |
* | 相乘 |
/ | 相除 |
% | 取模运算符,整除后的余数 |
++ | 自增运算符 |
-- | 自减运算符 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | C = A + B 将把 A + B 的值赋给 C |
+= | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 | C += A 相当于 C = C + A |
-= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 | C -= A 相当于 C = C - A |
*= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 | C *= A 相当于 C = C * A |
/= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 | C /= A 相当于 C = C / A |
%= | 求模且赋值运算符,求两个操作数的模赋值给左边操作数 | C %= A 相当于 C = C % A |
<<= | 左移且赋值运算符 | C <<= 2 等同于 C = C << 2 |
>>= | 右移且赋值运算符 | C >>= 2 等同于 C = C >> 2 |
&= | 按位与且赋值运算符 | C &= 2 等同于 C = C & 2 |
^= | 按位异或且赋值运算符 | C ^= 2 等同于 C = C ^ 2 |
|= | 按位或且赋值运算符 | C |= 2 等同于 C = C | 2 |
运算符优先级
类别 | 运算符 | 结合性 |
---|---|---|
后缀 | () [] -> . ++ - - | 从左到右 |
一元 | + - ! ~ ++ - - (type)* & sizeof | 从右到左 |
乘除 | * / % | 从左到右 |
加减 | + - | 从左到右 |
移位 | << >> | 从左到右 |
关系 | < <= > >= | 从左到右 |
相等 | == != | 从左到右 |
位与 AND | & | 从左到右 |
位异或 XOR | ^ | 从左到右 |
位或 OR | | | 从左到右 |
逻辑与 AND | && | 从左到右 |
逻辑或 OR | || | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | = += -= *= /= %=>>= <<= &= ^= |= | 从右到左 |
逗号 | , | 从左到右 |
类型转换
自动转换
强制转换(手动转换)
1.使用 (数据类型)变量 转换成指定的数据类型
例如: int(i); float(f), double(d); ...
2.使用系统提供的Convert类系列转换方法 Convert.to数据类型(变量);
参考:Convert类官方参考
例如: Convert类的以下部分方法
3.使用类型的解析方法Parse进行转换
这种方法只能将字符串转换成数字
使用字符串
1字符串拼接使用+号
2.转义字符
参考:菜鸟教程C#正则表达式
@符号使得后跟字符串中所有转义符失效,且会让字符串中的双引号自动变成""以代指双引号.
控制台输入输出
控制台输出
控制台输入
格式化输出
关系运算和逻辑运算
关系运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 |
逻辑运算符
运算符 | 描述 |
---|---|
&& | 称为逻辑与运算符。如果两个操作数都为真,则结果为真。 |
|| | 称为逻辑或运算符。如果两个操作数中有任意一个为真,则结果为真。 |
! | 称为逻辑非运算符。非真为假,非假为真 |
注意:逻辑短路!!! 应尽量避免逻辑短路!因可能会产生莫名其妙且极难查出来的BUG.但如果逻辑纯熟思路清晰,有时候也可利用逻辑短路优化和精简代码.
建议:一般人还是不要写可能出现逻辑短路的代码!以免无法自拔!即在参与逻辑运算的表达式中不要改变变量的值.