C# 语法基础
2021/12/25 1:07:10
本文主要是介绍C# 语法基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一:基本数据类型
- int
整数类型,只能存储整数,不能存储小数。
取值范围:-2,147,483,648 到 2,147,483,647 - float
单精度小数类型, 既能存储整数,又能存储小数,值后面需要加上一个 f。
取值范围:小数点后面的位数是 7 位; - double
双精度小数类型,既能存储整数,又能存储小数。
取值范围:小数点后面的位数是 15~16 位; - bool
用来描述对或错,bool 类型的值只有两个:true false。 - string
字符串类型,用来存储文本,也可以存储空,字符串类型的值需要用双引号引起来; - char
字符类型,用来存储单个字符,最多最少只能有一个字符,不能存储空,字符类型的 值需要用单引号引起来。
二: 运算符与表达式
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 数据类型 常量名 = 值;
五:分支结构之 if 语句
六:分支结构之 switch 语句
七: 循环结构之 for 语句
八:循环结构之 while 语句
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} };
2.二维数组的遍历
for 循环嵌套
数组名.GetLength(轴向下标); //可以获取某个轴向的元素个数。
3.二维数组在游戏中的应用
存储游戏地图
十三:函数之基本语法
1.函数的概念
2.函数的声明与调用
3.函数的参数与返回值
static 返回值类型 函数名([参数列表]) { 函数代码体; }
形参与实参 :
形参: 形式参数,在定义函数的时候,在参数列表中定义的参数。
实参: 实际参数,在调用函数的时候,传递给函数的具体参数。
十四:函数之函数重载
1.何为重载?
函数的名称相同,但是参数列表不同。
调用该函数的时候,会根据不用的参数,自动选择合适的函数重载形式。
2.参数不同的情况
如果参数的个数相同,那么参数的类型就不能相同;
如果参数的类型相同,那么参数的个数就不能相同。
注意:函数的返回值和重载没有关系。
十五:函数之高级参数
1.函数参数传递
2.ref 参数
- 作用:
将一个变量传入一个函数中进行“处理”,“处理”完成后,再将“处理”后的 值带出函数。 - 要求 函数外必须为变量赋值,而函数内可以不赋值。
- 语法 形参和实参前面都要加 ref 关键字。
3.out 参数
- 作用 一个函数中如果返回多个不同类型的值,就需要用到 out 参数。
- 要求 函数外可以不为变量赋值,而函数内必须为其赋值。
- 语法 形参和实参前面都要加 out 关键字。
十六:函数之递归调用
这篇关于C# 语法基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#