文章中内容均是对b站唐老狮视频的学习所得
一、输入输出语句
1.Console.Write() 不换行输出
2.Console.WriteLine() 换行输出
3.Console.ReadLine() 输入数据,按回车键后输入完毕
4.Console.ReadKey() 用于监测用户按下键盘上的任意键
二、变量
1.变量类型
| 有符号 | ||
| sbyte | 1字节 | 8位 |
| short | 2字节 | 16位 |
| int | 4字节 | 32位 |
| long | 8字节 | 64位 |
| 无符号 | ||
| byte | 1字节 | 8位 |
| ushort | 2字节 | 16位 |
| uint | 4字节 | 32位 |
| ulong | 8字节 |
64位 |
| 浮点 | ||
| float | 4字节 | 32位 |
| double | 8字节 | 64位 |
| decimal | 16字节 |
128位 |
| 特殊 | ||
| bool | 1字节 | 8位 |
| char | 2字节 | 16位 |
| string | 可变 | 不固定 |
*有符号即有正负
2.变量命名规范
(1)必须遵守的规则
- 不能重名
- 不能以数字开头
- 不能使用程序关键字命名
- 不能有特殊符号(下划线除外)
- 建议的命名规则:变量名要有含义——>用英文(拼音)表示变量的作用
- 不建议用汉字命名
(2)常用命名规则
- 驼峰命名法:首字母小写,之后单词首字母大写(变量)
例:string myName="名字";
- 帕斯卡命名法:所有单词首字母都大写(函数、类)
例:string MyName="111";
*C#中区分大小写
三、常量
1.常量的声明
const 变量类型 变量名 = 初始值
例:const float PI = 3.1415926f;
2.常量的特点
- 必须初始化
- 不能被修改
四、转义字符
1.转义字符的含义及其使用
含义:字符串的一部分,用来表示一些特殊含义的字符。如:单引号、引号、空行等
2.转义字符的固定写法
固定写法:\字符
3.常用的转义字符
| 单引号 | \' |
| 双引号 | \" |
| 换行 | \n |
| 斜杠 | \\ |
| 不常用的转义字符 | |
| 制表符(空一个tab键,一个tab键是四个空格) | \t |
| 光标退格(光标往后退一格再打印) | \b |
| 空字符 | \0 |
| 警报音 | \a |
4.取消转义字符
声明变量时,在变量值前加@,或在输出值前加@
例:string str = @"哈哈\哈哈";
Console.Write(@"\n\\");
五、类型转换
1.隐式转换(大范围转小范围)
- decimal不能用隐式转换去存储double和float,但是可以存储整数
- 特殊类型变量(bool、char和string)不存在隐式转换
- 无符号类型不能存储有符号类型
- 有符号类型可以存储范围比它小的无符号数
- 浮点数可以存储任何类型的整数
- 整数不能存储浮点数
- bool和string不能和其他类型进行隐式转换
- char不能存储其他类型的变量,但是宽度比它大的数值类型可以存储char,因为char类型是一个16位无符号整数
2.显性转换
(1)括号强转
作用:一般情况下,将高精度的类型强制转换为低精度
语法:变量类型 变量名 = (变量类型) 变量;
- 可能会出现范围问题,造成异常
- 可能会出现精度问题,造成数值丢失
- 浮点转整型时,会直接去掉小数点后的小数,不会四舍五入
- bool和string不能通过括号强转进行类型转换
(2)Parse法
作用:把字符串类型转换为对应的类型
语法:变量类型.Parse("字符串")
- 字符串必须要是能够转成对应类型的字符,并且要符合对应类型的范围,否则会报错。 例:int n = int.Parse("1.11"); 运行会报错
(3)Convert法
作用:更准确的将各个类型之间进行相互转换
语法:Convert.To目标类型(变量或常量)
- 精度比强转好,会四舍五入
- 如果是转换字符串,字符串必须要是能够转成对应类型的字符
(4)其他类型转string
作用:拼接打印
语法:变量.toString();
- 当进行字符串拼接时,就会自动调用tostring转成string。例:Console.Write("123"+1+true);
六、异常捕获
作用:避免代码报错时,造成程序卡死
基本语法:
//必备部分
try
{
//希望进行异常捕获的代码
}
catch
{
//如果出错了,会执行catch中的代码,来捕获异常
//也可以写成catch(Exception e)可以通过打印e来获得具体的报错信息
}
//可选部分
finally
{
//最后执行的代码,无论是否出错都会执行
}
七、运算符
1.算术运算符
(1)赋值符号 "="
例:string myName = "XXX";
将右侧的值赋给左侧的变量
(2)算术运算符
| 加 | + |
| 减 | - |
| 乘 | * |
| 除 | / |
| 取余 | % |
(3)算术运算符的优先级
- 乘除取余>加减
- 括号内优先
(4)复合运算符
+= -= *= /= %=
例:int i+=1; 等同于 int i=i+1;
(5)算术运算符的自增减
| 自增 | ++ |
| 自减 | -- |
int a=1;//--同理
++a;//代表先进行a+1再使用a
a++;//代表先用a再a+1
2.字符串拼接
(1)使用"+"拼接
例:string str="123"; str=str+"456"; str+=1;
(2)string.Format()
语法:string.Format("带拼接的内容",内容1,内容2,......);
- 想要被拼接的内容使用占位符替代{数字}(数字:0~n,依次往后)
例:string str=string.Format("我是{0},我今年{1}岁,我想要{2}",”xxx",18,"学好C#");
(3)控制台打印拼接
例:Console.Write("abc{0},123{1}","efg",456);
- 占位符未从0开始会报错
- 后面的内容比占位符多不会报错,比占位符少会报错
3.条件运算符
| 大于 | > |
| 小于 | < |
| 等于 |
== |
| 不等于 | != |
| 大于等于 |
>= |
| 小于等于 | <= |
- 优先级:条件运算符<算术运算符
- 判断范围时,不能写成1<a<6的形式,要结合逻辑运算符,写成1<a&&a<6
- 不同数值类型之间可以随意进行条件运算符比较
- 特殊类型char、string和bool只能同类型进行==和!=比较
4.逻辑运算符
(1)与 "&&"
对两个bool值进行逻辑运算,有假则假,同真为真
假&&假=假 假&&真=假 真&&假=假 真&&真=真
(2)或 "||"
有真则真,同假为假
假||假=假 假||真=真 真||假=真 真||真=真
(3)非 "!"
对一个bool值取反,真变假,假变真
!假=真 !真=假
(4)混合使用优先级
!>&&>||
逻辑运算符<条件运算符<算术运算符(逻辑非除外)
(5)逻辑运算符短路规则
只要逻辑与或者逻辑或的左边满足了条件,右边就不会进行运算
例:
int i=1;
bool result=i>0 || ++i>=1; //左边i>0为真,故右边不进行运算
Console.Write(i); //打印结果为1
result=i<0 && i++>1; //左边i<0为假,故右边不进行运算
Console.Write(i); //打印结果为1
5.位运算符
(1)位与 "&"
- 连接两个数值进行位计算,将数值转为2进制
- 对位运算,有0则0
//同位运算
int a=1; //001
int b=5; //101
// 001
//& 101
// 001 = 1
int c=a&b;
Console.Write(c); //1
//不同位运算,高位补0
a=3; //011
b=19; //10011
// 00011
//& 10011
// 00011 = 3
c=a&b;
Console.Write(c); //3
(2)位或 "|"
- 有1则1
//同位运算
int a=1; //001
int b=5; //101
// 001
//| 101
// 101 = 5
int c=a|b;
Console.Write(c); //5
//不同位运算,高位补0
a=3; //011
b=19; //10011
// 00011
//| 10011
// 10011 = 19
c=a|b;
Console.Write(c); //19
(3)异或 "^"
- 相同为0,不同为1
//同位运算
int a=1; //001
int b=5; //101
// 001
//^ 101
// 100 = 4
int c=a^b;
Console.Write(c); //4
//不同位运算,高位补0
a=3; //011
b=19; //10011
// 00011
//^ 10011
// 10000 = 16
c=a^b;
Console.Write(c); //16
(4)位取反 "~"
- 写在数值前面,将数值转为2进制,0变1,1变0
int a=5; //由于int有32位,所以2进制为0000 0000 0000 0000 0000 0000 0000 0101
int c=~a;
//~ 0000 0000 0000 0000 0000 0000 0000 0101
// 1111 1111 1111 1111 1111 1111 1111 1010 左侧第一位是符号位,为-
Console.Write(c); //-6 涉及反码补码
(5)左移 "<<" 和 右移 ">>"
- 左移几位,右侧加几个0
- 右移几位,右侧去掉几个数
//左移
int a=5; //101
int c=a<<5; //1010 0000 = 160
Console.Write(c); //160
//右移
c=a>>2; //1 = 1
Console.Write(c); //1
6.三目运算符
基本语法:bool类型?bool为真返回的内容:bool为假返回的内容;
例:
string str = true?"条件为真":"条件为假";
Console.Write(str); //条件为真
int a=5;
str = a<1?"a小于1":"a大于1";
Console.Write(str); //a大于1
八、条件分支语句
1.if语句
if(条件)
{
//满足条件要执行的语句
}
else if(条件)
{
}
else
{
//else可选
//不满足任何条件执行的语句
}
2.switch语句
switch(变量)
{
case 常量1:
变量等于常量1要执行的语句;
break;
case 常量2:
变量等于常量2要执行的语句;
break;
default:
如果上面case的条件都不满足,就会执行default中的代码
//default可选
break;
}
- 如果不加break,执行完case 变量1中的代码会继续执行后面的代码
九、循环语句
1.while语句
while(条件)
{
//满足条件时会执行while中的语句,运行完后再重新判断,直到不满足条件才退出
}
2.do{}while();语句
do
{
//先执行一次循环语句,再判断是否满足条件,满足则继续执行,然后再判断,直到不满足才推出
}
while(条件);
3.for语句
for(初始表达式;条件表达式;增量表达式)
{
//满足条件时运行的代码
}
- 初始表达式:一般声明一个临时变量,用于计数
- 条件表达式:要满足的条件
- 增量表达式:用初始表达式的变量进行自增减运算
4.流程控制关键词
(1)break
作用:跳出循环
(2)continue
作用:回到循环开始,继续执行

2386

被折叠的 条评论
为什么被折叠?



