一、变量
理解:用来存放常量的一块指定大小的内存空间,可以修改变量空间中存放的常量。
使用场景:当需要向内存中存储常量数据时,这时候就要声明对应常量数据类型的变量,在内存中申请分配一块指定大小的内存空间,用来存放对应的数据值。
变量声明:由数据类型和变量名两部分组成
数据类型标明了当前变量能存放的数据值的类型和当前变量占用申请的内存空间大小。 变量名是标识符,且不能是系统关键字。遵从驼峰命名规则,例如:intNum
int num; //只有声明,没有存放明确数据
//一个没有存放明确数据的变量不能直接访问获取
Console.WriteLine(num);
变量存储数据:初始化和赋值
初始化:在声明的同时直接对变量做存值操作,就叫做初始化。 一个变量只能声明一次,因此初始化操作也只能有一次。
int n1 = 6;
int n2 = 5 + 1;
//打印输出变量中存放的常量值
Console.WriteLine(n1);
Console.WriteLine(n2);
//赋值运算符左侧不可以是常量,常量不可修改
//5 = 6;
//同一区域内,不能存在同名变量
int n1;
赋值:在变量创建之后,通过访问变量名称,给指定变量赋值。
赋值操作可以有任意多次,变量中存放的是最后一次被赋予的值。
可以通过一个已经赋值或初始化的变量给另一个相同类型的变量做赋值或初始化操作。
int a = 10;
Console.WriteLine(a);
a = 89;
Console.WriteLine(a);
//拷贝一份变量a中存放的数据值,存放到变量b
int b = a;
Console.WriteLine(a);
Console.WriteLine(b);
二、运算符
算数运算符:+ - * / %
- 当整型数据进行算数运算时,较短整型表达式的值为int类型,均向int类型靠拢。长整型(long、ulong)计算结果仍然为长整型。
- 当整型数据和浮点类型数据进行运算时,表达式的值为浮点类型。
- 两个整型数据相除,只能得到商的整数部分。若要得到完整的商,至少要保证其中一个数据为浮点类型。
- 在程序中判断一个数能否被另一个数整除,通过%运算符进行取余运算,余数为0则能整除,否则不能整除。
byte bNum1 = 10;
ushort shNum1 = 45;
int sum = bNum1 - shNum1;
float fNum1 = 3.4f;
float sum1 = fNum1 + bNum1;
Console.WriteLine(5.0/2);
Console.WriteLine(17%2);
赋值运算符:=
- 样式:变量 = 表达式1
- 计算流程:先计算右侧表达式1的值,然后将该值赋给左侧变量。
- 注意:赋值运算符左侧只能是变量、属性或索引器。
- 单一个=在程序中就表示赋值,不可以用来判断比较是否相等。
int i1 = 1;
i1 = 1 + 2;
i1 = i1 + 5;
复合赋值运算符:+= -= *= /= %=
- 复合赋值运算符由算数运算符和赋值运算符组成
- 样式:变量 复合赋值运算符 表达式1
- 计算流程:首先计算变量和表达式1通过复合赋值运算符中的算数运算符组成的新表达式的值,得到值之后,将该值重新赋值给左侧的变量。
- 表达式展开:变量 = 变量 算数运算符 表达式1
i1 += 5; //展开:i1 = i1 + 5;
int i2 = 7;
i2 -= 10; //展开:i2 = i2 - 10;
Console.WriteLine(i2);
自增自减运算符
- 作用:变量自增加一或自减减一
- 变量++ : 加前取值(变量加一之前的值)
- ++变量 : 加后取值(变量加一之后的值)
- 变量 - - : 减前取值(变量减一之前的值)
- *- -变量 : 减后取值(变量减一之后的值)
- 注意:变量的值,无论+、-在前在后,都会对应加一或减一
int i3 = 10;
Console.WriteLine(i3++); //打印表达式的值 10
Console.WriteLine(i3); //打印变量的值 11
Console.WriteLine(++i3); //打印表达式的值 12
Console.WriteLine(i3); //打印变量的值 12
Console.WriteLine();
Console.WriteLine(i3--); //打印表达式的值 12
Console.WriteLine(i3); //打印变量的值 11
Console.WriteLine(--i3); //打印表达式的值 10
Console.WriteLine(i3); //打印变量的值 10
++i3;
Console.WriteLine(i3);
比较运算符:> < >= <= != ==
- 样式:表达式1 比较运算符 表达式2
- 计算流程:首先计算表达式1的值,然后计算表达式2的值。接下来比较两个表达式的值,最后得出整个表达式的值,结果只有真或假两种。
bool isTrue = 7 < 5;
Console.WriteLine(isTrue);
int i = 10;
Console.WriteLine(i + 3 == 13);
逻辑运算符 && || !
&&:与
- 左右两侧必须是值为bool类型的表达式
- 样式:真假表达式1 && 真假表达式2
- 计算流程:首先判断表达式1的真假,然后再判断表达式2的真假,最后判断整个表达式的真假。
- 结果:两侧表达式,一假则为假,全真才为真。
||:或
- 运算符左右两侧的表达式必须是值为bool类型的表达式
- 样式:真假表达式1 || 真假表达式2
- 计算流程:首先判断表达式1的真假,然后再判断表达式2的真假,最后判断整个表达式的真假。
- 结果:两端表达式,一真则为真,全假才为假。
! :非
- 样式:!表达式1
- 计算流程:先判断表达式1的真假,然后取反,即为整个表达式的真假。
Console.ReadLine();
bool isTrue1 = 7 > 5 && 8 > 6;
Console.WriteLine(isTrue1);
Console.WriteLine(3==4 || 7>=1);
Console.WriteLine(!(7<5));
三目运算符 ? :
- 样式:真假表达式1 ?表达式2 : 表达式3;
- 计算流程:首先判断式1的真假,若为真,则计算式2的值,忽略式3,最后的值即为式2的值。若为假,则计算式3的值,忽略式2,最后的值即为式3的值。
bool istrue = false;
Console.WriteLine(istrue ? "true" : "false");