C#笔记(基础语法)

阅读: 评论:0

C#笔记(基础语法)

C#笔记(基础语法)

C#基础语法

    • [1]变量与常量
      • 1.1变量的定义与类型
    • [2]运算符与表达式
      • 2.1 位计算拆分:
    • [3]控制流程语句
      • 3.1顺序结构
      • 3.2分支结构
      • 3.3 选择结构
      • 3.4循环结构
    • [4]数组
      • 4.1一维数组
        • 4.1.1数组语法定义和初始化:
        • 4.1.2 数组元素的赋值:
        • 4.1.3数组的遍历
        • 4.1.4冒泡排序
        • 4.1.5冒泡排序string类型
      • 4.2二维数组
      • 4.3交错数组
    • [5]枚举
    • [6]方法
      • 6.1方法的定义与调用
      • 6.2方法的值传递和引用传递
      • 6.3 ref out Params三个关键字的作用
        • 6.3.1关键字ref
        • 6.3.2关键字out
        • 6.3.3关键字Params
      • 6.4 方法的重载
      • 6.5命名参数
      • 6.6默认参数
      • 6.7方法的递归

[1]变量与常量

  • 整数类型
类型说明(8位等于1字节)范围
sbyte8位有符号整数-128~127
short16位有符号整数-32768~32767
int32位有符号整数-2147483648~2147483647
long64位有符号整数-9223372036854775808~9223372036854775807
byte8位无符号整数0~255
ushort16位无符号整数0~65535
uint32位无符号整数0~4294967295
ulong64位无符号整数0~18446744073709551615
  • 浮点数类型
类型说明范围
float精确到7位数±1.5*10的245次方~±3.4*10的38次方
double精确到15-16位数±5.0*10的-2324次方~±1.7*10的308次方

1.1变量的定义与类型

  • 计算机储存数据的基本单元就是一个字节,一个字节为8位
  • 理论:变量就是一些数值变化的量,我们一般在计算中肯定是需要一些变化的量储存数据参与计算等
  • 定义变量语法:数据类型 变量名;
  • 变量赋值:变量名=值;
int a; //定义变量
int b=20; //变量的赋值
  • 变量的三要素:定义-赋值-使用

数据类型分为值类型和引用类型—从数据储存的方式不一样

值类型–数据存放在栈中的变量

int uint long ulong short ushort byte sbyte—整数

double float decimal------小数

bool------布尔

char-------字符

结构体

枚举

引用类型—数据存放在托管堆中,而栈中存放的是堆的引用地址

string 数组 类 委托 接口

堆栈都是内存而已,为了数据储存的效率性,操作系统会把内存划分为好几块分别管理,其中就有两块内存就是堆和栈。

  • 所谓栈就是这块内存的数据是先进后出其中栈中一般存放的是轻量级数据,而栈中的数据是不需要GC来管理。而是变量的生命周期结束后操作系统就会自动释放(先进后出),而且栈的数据是连续开辟,访问速度会快一些。

  • 所谓托管堆就是这块内存由GC来管理,GC如果发现这块内存没有使用那么就会自动释放回收。托管堆中一般存放的是重量级数据,同时不是连续开辟,访问速度比较慢。

1个字节=8位 1KB=1024B 1M=1024KB 1G=1024M 1T=1024G

变量的生命周期–作用域:在花括号内是变量生命周期范围—局部变量

[2]运算符与表达式

表达式:由运算符(操作符)与操作数所构成的式子-----表达式的值

运算符:具有一定运算意义的符号

操作数的个数

一元(单目)运算符

二元(双目)运算符

三元(三目)运算符

自增++ 自减–

算术运算符:+ - * / %

关系运算符: > < >= <= != ==

位运算符:& | ~ ^(异或) << >>

逻辑运算符:&&(逻辑与)||(逻辑或)! (非)

条件运算符:?:

赋值表达式:= 复合赋值(+= -+ *= /= %= &= |= ^= <<= >>=)

//复合赋值
int a+=b;
//int a+=b同等与  a=a+b

逻辑与优先级高用逻辑或

逻辑表达式与关系表达式值都是bool

位运算与算术运算表达式的值一般是数值

位运算一般整数之间运算(也可以是char(编码整数值))

  • 逻辑与 逻辑或效率:

逻辑运算符两边一般都是BOOL类型的表达式,注意效率优先的问题。

条件表达式的结合顺序是从左往右,赋值表达式的结合顺序是从右往左

2.1 位计算拆分:

原码–>反码(位取反)–>补码(位+1)

00010011–>

11101100–>

11101101

补码-(位-1)->反码(位取反)–>原码

00010011–>

00010010–>

11101101

  • 无符号正数反码补码和原码一样

  • 有符号的负数占一个符号位,如果第一位是负数,则符号位不参与运算,列如-1

//-1  原码 1000 0001
//    反码 1111 1110
//    补码 1111 1111  计算机底层存放的负数是补码
sbyte m1=-1;
sbyte res=(sbyte)(m1|2);
//res输出结果为  -1
//推导过程
//正数2补码与原码相同
//2的补码为0000 0010
//负数-1的补码为1111 1111
//求或运算则为
// 0000 0010 -->2(补码)
// 1111 1111 -->-1(补码)   两者求或运算
// 1111 1111 -->-1(补码转换为原码后为-1)
//计算机底层用补码进行计算
//计算时 符号位不参与计算
sbyte m1=-3;
sbyte res=(sbyte)(m1<<2);
//11111101-->11110100

[3]控制流程语句

概念:流程(做一件事情的一个前后逻辑顺序步骤 称为流程-流程可以很好的诠释我们的执行一件事情的逻辑)

分类:

3.1顺序结构

  • 顺序结构:执行一件事情按照从上往下依次按照先后顺序执行

3.2分支结构

  • 分支结构:if , if-else当执行一件事情的时候,存在两种情况的时候,这个时候通过条件是否满足的判断从而决定是否执行某段代码-存在一个条件是否成立的分支结构
if(bool)
{//语句
}

如果bool类型的表达式为真,那么就执行花括号里面的语句,如果为假不执行。

当然这个语句可以是一句,也可以是多句。如果只有一句,有的时候可以省略花括号。

  • 什么时候想到用 if :当发现程序中存在两种可能性的时候,这个时候可以立马想到这里要用if
if(bool)
{//语句1:
}
else
{//语句2:
}

如果bool类型的表达式为真,执行语句1,否则执行语句2

else一般和离他最近的 if 匹配,同时 if 和else 直接按不可以有别的代码。如果只有一句可以省略花括号。一般不去省略 else

  • 什么时候想到用 if-else :当你发现程序中存在两种可能性的时候,而这两种可能性满足的时候,要执行对应的代码

通过计算判断板卡是否在限位

//判断是否限位 例如,索引是8,判断当前位是否为1
//0000 0000
//1000 0111
short data=455;
data>>=8; //右移8位
if((data&1)==1)//等于1
{//限位开关有效
}
else //等于0
{//限位开关无效
}

if-else里面是可以嵌套if-else–当每个分支情况满足的时候里面又存在分支的时候,这个时候想到if-else嵌套。

3.3 选择结构

if-else if switch-case

当你执行一件事情的时候,可能存在多种情况的时候,而你只是执行多种情况的一种。

什么时候考虑 选择结构:当你存在多可能性的时候,面临着多选一的时候 条件一般是一个bool类型的变量或者表达式

if(//条件1){//语句1;}
else(//条件2){//语句2;}else(//条件3){//语句3;}

switch-case语法—什么时候考虑,当你存在多种可能性的时候,同时每种可能性往往是具体的某一个值的时候,优先考虑switch-case

switch(//变量或者表达式){//case值1://语句://break;//case值2://语句;//break//case值3//语句;//break//defaut://语句;//break}

备注:变量一般是整型 字符串 或者枚举

break 必须加 表示跳出switch-case整个结构

3.4循环结构

  • for
  • while
  • do-while
  • foreach

for循环:一般用于已知固定循环次数的。什么时候想到循环?–当有重复的事情发生的时候或者类似重复的时候。

语法:

 
        

本文发布于:2024-01-29 16:04:10,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170651545516449.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语法   基础   笔记
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23