1.=
赋值
2. +
连接:当“+”号两边有一边是字符串的时候,“+”号就起到连接的作用
相加:当“+”号两边都是数字的时候,“+”号就起到相加的作用
3. + - * /
加减乘除,四则运算
优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算。
注意:两个整数相除,结果会舍弃余数
4. %
取模(取余数)
5. ++
与 --
对于++
和--
这样只需要一个操作数就能完成的运算,我们称之为一元运算符。
+ - * / %
对于这些需要两个或两个以上操作数才能完成运算的操作符,我们称 之为二元运算符。
6.+= -= *= /= %=
复合赋值运算符
6. > < >= <= == !=
关系运算符
7. &&
||
!
逻辑运算符
8. 占位符
让字符串与变量连接更舒服。
语法结构: 先挖坑{0},{1},{2}, 再填萝卜(变量)进坑。
注意:
1. 你挖了几个坑,就应该填几个萝卜;
如果你多填了萝卜,没效果; 如果你少填了萝卜,抛异常。
2. 输出顺序; 按照挖坑的顺序输出,另外萝卜是有位置顺序的。
用户输入:Console.ReadLine();
常用转义符:
\n
:表示换号
\”
:表示一个英文半角的双引号
\t
:表示一个 tab 键的大空格
\b
:表示一个 BackSpace 退格键,会把前面的一个字符删掉
\\
:表示一个\
@
:用在字符串的前面,有两种用途。
1. 取消“\”在字符串中的转义作用,使其单纯的就表示一个斜线[多用于路径]
2. 将字符串按照原格式输出
1.隐式类型转换[自动类型转换]
条件 1:两种类型兼容
条件 2:原类型要小于目标类型(小的转大的)
例:int->double
int->float
2.显式类型转换[强制类型转换]
条件 1:两种类型兼容
条件 2:原类型大于目标类型(大的转小的)
例:double->int
float->int
3. 表达式中的类型转换
两个 int 类型,加减乘除取余之后,依然是整数类型。
如果一个操作数为 double 类型,则整个表达式可提升为 double 类型。
4.Convert 类型转换
概念: 两个变量的类型如果相兼容,可以使用自动类型转换或者强制类型转换。 如果两个变量的类型不兼容,比如 string 和 int,string 和 double。 这个时候我们可以用 Convert 进行转换。
注意: 使用 Convert 进行类型转换,也需要满足一个条件, 条件就是“面子上要过得去”。
代码: Convert.ToInt32();
Convert.ToDouble();
常量名的命名一般是全大写,单词与单词之间用下划线分割。
语法:const 数据类型 常量名 = 值;
1.while 语句
2.do-while 语句
do{ 循环体; }while(循环条件);
3.break 和 continue
1.声明 :数据类型[] 数组名;
[]
:指定数组的维度,默认是 1 维数组。
2.初始化
数组名 = new 数据类型[数组长度];
声明,初始化二合一格式:数据类型[] 数组名 = new 数据类型[数组长度];
new : 创建数组实例。
注:左右两端的数据类型要一致。
3.赋值
数组名[下标] = 值;
声明,初始化,赋值三合一格式:
数据类型[] 数组名 = new 数据类型[数组长度]{值 1,值 2,...,值 N};
数据类型[] 数组名 = new 数据类型[]{值 1,值 2,值 3};
4.使用[取值]
数组名[下标]
注意:数组的下标是从 0 开始。
数组的长度是固定,赋值与取值的时候,下标不能越界。
1.for 循环遍历数组
2.foreach 遍历数组
foreach(数组数据类型 临时变量 in 数组名) { Console.WriteLine(临时变量); }
3.数组元素的初始值
数据类型[] 数组名 = new 数据类型[数组长度];
数组初始化完成后,各种类型的数组的默认值:
int[], 元素的值默认都是 0;
float[], 元素的值默认都是 0;
double[],元素的值默认都是 0.0;
string[], 元素的值默认都是 null;
bool[], 元素的值默认都是 false;
1.值类型与引用类型
值类型 int,float,double,bool,char
内存:值类型的值存储在内存的栈中
2.引用类型
数组,字符串
内存:引用类型的值存储在内存的堆中
3.数组的内存结构
数组在内存中是一块连续的存储空间存储的。
最低的地址对应第一个元素,最高的地址对应最后一个元素。
1.二维数组基本语法
数据类型[,] 数组名;
数组名 = new 数据类型[行数,列数];
数据类型[,] 数组名 = new 数据类型[行数,列数];
数组名[下标,下标] = 值;
数组名[下标,下标];
数据类型[,] 数组名 = new 数据类型[,]{ {0,0,0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1,1,1} };
数组名.GetLength(轴向下标); //可以获取某个轴向的元素个数。
1.函数的概念
2.函数的声明与调用
3.函数的参数与返回值
static 返回值类型 函数名([参数列表]) { 函数代码体; }
形参与实参 :
形参: 形式参数,在定义函数的时候,在参数列表中定义的参数。
实参: 实际参数,在调用函数的时候,传递给函数的具体参数。
1.何为重载?
函数的名称相同,但是参数列表不同。
调用该函数的时候,会根据不用的参数,自动选择合适的函数重载形式。
2.参数不同的情况
如果参数的个数相同,那么参数的类型就不能相同;
如果参数的类型相同,那么参数的个数就不能相同。
注意:函数的返回值和重载没有关系。
1.函数参数传递
2.ref 参数
3.out 参数