2021-08-18

          C#基础         

引入命名空间
using system;
运行时有几个步骤
1、编写代码
2、编译代码 将我们源代码转换成机器可以运行的程序 编译器 编译错误(语法错误) 逻辑错误
3、运行程序
namespace 命名空间名称
作用:解决命名冲突
当出现两个以上相同的命名类或者方法时,使用命名空间去区分我们到底调用是哪个类或者方法
c#程序里面基本内容包含在一个命名空间
程序调试
断点
调试运行 f5
直接运行 alt+f5
f11 逐语句 每一条语句都要调试执行。当执行到函数的时候,进入到函数中去执行
f10 逐过程 只执行每一个过程。当执行到函数的时候,直接执行函数,不进入函数内部
shift +f11 跳出,跳出我们当前执行的函数,返回到上一级。

unsigned 无符号
signed 符号

计算机内存的存储单位
bit 位 只可以表示0 1 (计算内存的最小计算单元) (二进制)
b byte 字节 1byte = 8bit
379kb = 379*1024 byte
kb 1kb = 1024b
mb 1mb = 1024kb
gb 1gb = 1024 mb

2^8 256-1 255

基本数据类型-- 整型
byte类型 1字节
无符号byte类型 byte 0~255
有符号byte类型 sbyte -127~126
无符号 非负数

short 短整型 2字节
无符号 ushort
有符号 short

int 整型 4字节无符号 uint有符号 int

转换
二进制 01 十进制 1
二进制 10 十进制 2
二进制 100 十进制 4

公式: 0* 2^1 + 12^0 = 1
1
2^2 + 02^1 + 02^0 = 4
1111 1111 +1 = 1 0000 0000
1* 2^8 -1 = 256 -1 = 255
1Byte

namespace VS0219Project
{
0 1000
class Program
{
程序有且只有一个Main,程序入口
static void Main(string[] args)
{
byte num = 175;
ushort us = 100; //语法错误
Console.WriteLine(“Hello World!”);
}
}
}
、C#基本数据类型
二、C#中的注释和命名规范
三、变量和常量
四、运算符
五、流程控制语句
1、 判断语句
2、 循环语句
3、 循环控制语句
C#基本数据类型
数据类型主要用于指明变量和常量存储值的类型,C# 语言是一种强类型语言,要求每
个变量都必须指定数据类型。
1、数据类型分类
C# 语言的数据类型分为值类型和引用类型。
值类型中包括:
整型
浮点型
字符型
布尔型
枚举型
引用类型包括:

接口
数组
委托
字符串
2、整型类型
整型所谓整型就是存储整数的类型,按照存储值的范围不同,C# 语言将整型分成了
byte 类型、short 类型、int 类型、long 类型等,并分别定义了有符号数和无符号数。
整型类型的分类、占用内存大小以及最大可表示范围如下图所示:
其中sbyte中的s字母是取自 signed 单词中的首字母,代表有符号;
ushort,uint,ulong中的u字母是取自 unsigned 单词中的首字母,代表无符号。
类 型 取值范围
sbyte 有符号数,占用1个字节,-27〜27-1
byte 无符号数,占用1个字节,0〜28-1
short 有符号数,占用2个字节,-215〜215-1
ushort 无符号数,占用2个字节,0〜216-1
int 有符号数,占用4个字节,-231〜231-1
uint 无符号数,占用4个字节,0〜232-1
long 有符号数,占用8个字节,-263〜263-1
ulong 无符号数,占用8个字节,0〜264-1
3、浮点型
浮点型是指小数类型,浮点型在 C# 语言中共有两种,一种称为单精度浮点型,一种称为双
精度浮点型。二者表示的精度范围不同。
在 C# 语言中默认的浮点型是 double 类型。如果要使用单精度浮点型,需要在数值后 面
加上 f 或 F 来表示,例如 123.45f、123.45F。
类 型 取值范围
float 单精度浮点型,占用4个字节,最多保留7位小数
double 双精度浮点型,占用8个字节,最多保留16位小数
举例如下:
double dValue = 1234.45;
float fValue = 1234.45f;
C#中还有一种精度更高的浮点类型:decimal类型,它占16个字节
decimal类型专门用于进行财务计算,使用decimal类型提供的28位的方式取决于用户。
要把数字指定为decimal类型,可以在数字的后面加上字符M或(m)
举例如下:
decimal d=12.30M;
4、字符型
字符型只能存放一个字符,它固定占用两个字节,能存放一个汉字。
字符型用 char 关键字表示,存放到 char 类型的字符需要使用单引号括起来,例如
‘a’、‘中’ 等。
举例如下:
char c = ‘A’;
注意:字符型只能使用单引号。 双引号代表字符串类型。
5、布尔类型
C# 语言中,布尔类型使用 bool 来声明,它只有两个值,即 true 和 false。
当某个值只有两种状态时可以将其声明为布尔类型,例如,是否同意协议、是否购买商品
等。
布尔类型的值也被经常用到条件判断的语句中,例如,判断某个值是否为偶数、判断某个日
期 是否是工作日等。
例如:
bool isModify = false; //是否变更。
6、字符串类型
字符串类型能存放多个字符,它是一个引用类型。
在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而
是可变的。
使用 string 关键字来存放字符串类型的数据。字符串类型的数据必须使用双引号括起来,
例如 “abc”、“123” 等。
举例如下:
string strValue = “我是一个字符串”;
7、转义字符
在 C# 语言中还有一些特殊的字符串,代表了不同的特殊作用。由于在声明字符串类型的数
据时需要用双引号将其括起来,那么双引号就成了特殊字符,不能直接输出,转义字符的作
用就是输出这个有特殊含义的字符。
常用的转义字符如下表所示。
转义字符 等价字符
’ 单引号
" 双引号
\ 反斜杠
\0 空
\a 警告(产生蜂鸣音)
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
举例如下:
string testValue = “我叫’张三’,\n我来自海边。”;
二、C#中的注释和命名规范
1、注释
注释一般都以下两种作用:
说明当前代码的作用以及意义。
暂时去掉不用代码,让其不参与编译。
C#中包含三种注释:
1)单行注释
使用两个斜杠代表其后内容是注释部分。
举例如下:
1 //定义一个变量值。(单行注释)
2 int value = 5;
2)多行注释
使用/* / 代表多行注释,期间的所有内容都是注释部分。
举例如下:
1 /
多行注释,期间的所有说明或者代码都是注释部分。
2 double d = 3.25
3 int value = 5;
4 */
3)文档注释
文档注释一般多用于类和方法的前面,说明该类和方法的作用以及意义。
举例如下:
在方法或者类的前一行打出三个斜杠,VS自动添加文档注释。
1 using System;
2
3 namespace ConsoleApp1
4 {
5 ///
6 /// 这是文档注释
7 /// 这个是VS自动生成的Program类
8 ///
9 class Program
10 {
11 ///
12 /// 这个是主函数,是程序的入口
13 ///
14 /// 参数说明
15 static void Main(string[] args)
16 {
17 Console.WriteLine(“Hello World”);
18 }
19 }
20 }
Tips:
平时写代码时也要有为代码添加注释的习惯。这样写出来的代码不仅美观,更容易维护。
2、命名规范
命名规则是为了让整个程序代码统一以增强其可读性而设置的。
常用的命名方法有两种:
Pascal 命名法(帕斯卡命名法):每个单词的首字母大写
Camel 命名法(驼峰命名法):第一个单词小写,从第二个单词开始每个单词的首字母大

  1. 变量的命名规则
    变量的命名规则遵循 Camel 命名法,并尽量使用能描述变量作用的英文单词。例如存放学
    生姓名的变量可以定义成 name 或者 studentName 等。另外,变量名字也不建议过长,
    最好是 1 个单词,最多不超过 3 个单词。
  2. 常量的命名规则
    为了与变量有所区分,通常将定义常量的单词的所有字母大写。例如定义求圆面积的 n 的
    值,可以将其定义成一个常量以保证在整个程序中使用的值是统一的,直接定义成 PI 即
    可。
  3. 类的命名规则
    类的命名规则遵循 Pascal 命名法,即每个单词的首字母大写。例如定义一个存放学生信息
    的类,可以定义成 Student。
  4. 接口的命名规则
    接口的命名规则也遵循 Pascal 命名法,但通常都是以 I 开头,并将其后面的每个单词的首
    字母大写。例如定义一个存放值比较操作的接口,可以将其命名为 ICompare。
  5. 方法的命名规则
    方法的命名遵循 Pascal 命名法,一般采用动词来命名。例如实现添加用户信息操作的方
    法,可以将其命名为 AddUser。
    三、变量和常量
    1、变量
    变量(Variable)是 C# 编程中不可缺失的内容,使用变量可以更容易地完成程序的编
    写。
    变量可以理解为存放数据的容器,并且在将值存放到变量中时还要为变量指定数据类型。
    定义变量的语法如下:
    数据类型 变量名;
    数据类型 变量名 = 初始值;
    注意:
    对于未初始化的变量,其内容无法确定,所以无法进行直接输出显示,需要设置值之后再进
    行输出。
    举例如下:
    1 //定义一个变量,但未设置初始值
    2 int value;
    3
    4
    5 //定义一个变量,并设置初始值为5
    6 int num = 5;
    2、常量
    常量也是用来存储数据的容器,在定义时都需要指明数据类型。
    唯一的特点是:存放的值不允许改变。
    常量需要使用关键字const进行修饰。
    常量一般全部使用大写。
    举例如下:
    1 //定义一个常量
    2 const int CONST_VALUE = 5;
    3
    4 CONST_VALUE = 10; //语法错误,试图修改一个常量
    【实例1】分别求圆的面积和周长,并使用常量存放 π 的值,将 π 的值定义为3.14。
    1 class Program
    2 {
    3 static void Main(string[] args)
    4 {
    5 const double PI = 3.14;
    6 int r = 3; //存放半径
    7 Console.WriteLine(“圆的周长是:” + 2 * PI * r);
    8 Console.WriteLine(“圆的面积是:” + PI * r * r);
    9 }
    10 }
    执行上面代码,效果如下图。
    四、运算符
    C#语言包含6种类型的运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运
    算符。
    1、算数运算符
    算术运算符算术运算符是最常用的一类运算符,包括加法、减法、乘法、除法等。
    如下表所示:
    运算符 说 明
  • 对两个操作数做加法运算
  • 对两个操作数做减法运算
  • 对两个操作数做乘法运算
    / 对两个操作数做除法运算
    % 对两个操作数做取余运算
    这里需要强调的是:
    1)当对两个字符串类型的值使用 + 运算符,代表的是两个字符串值的连接,例如
    “123”+“456” 的结果为 “23456” 。
    2)当使用 / 运算符时也要注意操作数的数据类型,如果两个操作数的数据类型都为整数,那
    么结果相当于取整运算,不包括余数;而两个操作数中如果有一个操作数的数据类型为浮点
    数,那么结果则是正常的除法运算。
    3)当使用 % 运算符时,如果两个操作都为整数,那么结果相当于取余数。经常使用该运算
    符来判断某个数是否能被其他的数整除。
    举例如下:
    计算一个整数的个位数字和十位数字。
    1 using System;
    2
    3 namespace ConsoleApp1
    4 {
    5 ///
    6 /// 这是文档注释
    7 /// 这个是VS自动生成的Program类
    8 ///
    9 class Program
    10 {
    11 ///
    12 /// 这个是主函数,是程序的入口
    13 ///
    14 /// 参数说明
    15 static void Main(string[] args)
    16 {
    17 //计算整数68的个位和十位的数字
    18 int number = 68;
    19 int first = number / 10;
    20 int last = number % 10;
    21 Console.WriteLine("{0}的十位数字是{2},个位数字是{1}", number, first,
    last);
    22 }
    23 }
    24 }
    2、关系运算符
    关系运算符在条件判断中经常使用的一类运算符,包括大于、小于、不等于、大于等于、小
    于等于等符号。
    关系运算符比较的返回结果是一个bool类型的值。
    如下表所示:
    运算符 说 明
    == 表示两边表达式运算的结果相等,注意是两个等号
    != 表示两边表达式运算的结果不相等

表示左边表达式的值大于右边表达式的值
< 表示左边表达式的值小于右边表达式的值
= 表示左边表达式的值大于等于右边表达式的值
<= 表示左边表达式的值小于等于右边表达式的值
举例如下:
1 using System;
2
3 namespace ConsoleApp1
4 {
5 ///
6 /// 这是文档注释
7 /// 这个是VS自动生成的Program类
8 ///
9 class Program
10 {
11 ///
12 /// 这个是主函数,是程序的入口
13 ///
14 /// 参数说明
15 static void Main(string[] args)
16 {
17 //判断某一个数是否为偶数,实际上就是判断该数是否能被 2 整除,如果被 2 整除后余
数为 0,则说明该数为偶数。
18 Console.WriteLine(“10是否是偶数:{0}” ,(10 % 2 == 0));
19 }
20 }
21 }
3、逻辑运算符
逻辑运算符主要包括与、或、非等,它主要用于多个布尔型表达式之间的运算。
如下表所示:
运算符 含义 说明
&& 逻辑与
如果运算符两边都为 True,则整个表达式为 True,否则为 False;如果左边操
作数为 False,则不对右边表达式进行计算,相当于“且”的含义
|| 逻辑或
如果运算符两边有一个或两个为 True,整个表达式为 True,否则为 False;
如果左边为 True,则不对右边表达式进行计算,相当于“或”的含义
! 逻辑非 表示和原来的逻辑相反的逻辑
4、位运算
位运算,通常是指将数值型的值从十进制转换成二进制后的运算,由于是对二进制数进行运
算,所以使用位运算符对操作数进行运算的速度稍快。
位运算包括与、或、 非、左移、右移等。
如下表所示:
运算符 说 明
&
按位与。两个运算数都为 1,则整个表达式为 1,否则为 0;也可以对布尔型的值进行比较,相当
于“与”运算,但不是短路运算
|
按位或。两个运算数都为 0,则整个表达式为 0,否则为 1;也可以对布尔型的值进行比较,相当
于“或”运算,但不是短路运算
~
按位非。当被运算的值为 1 时,运算结果为 0;当被运算的值为 0 时,运算结果为 1。该操作符不能用于
布尔型。对正整数取反,则在原来的数上加 1,然后取负数;对负整数取反,则在原来的数上加 1,然后
取绝对值
^ 按位异或。只有运算的两位不同结果才为 1,否则为 0
<< 左移。把运算符左边的操作数向左移动运算符右边指定的位数,右边因移动空出的部分 补 0

有符号右移。把运算符左边的操作数向右移动运算符右边指定的位数。如果是正值,左侧因移动空出的部
分补 0;如果是负值,左侧因移动空出的部分补 1

无符号右移。和 >> 的移动方式一样,只是不管正负,因移动空出的部分都补 0
5、赋值运算符
赋值运算符中最常见的是等号,除了等号以外还有很多赋值运算符,它们通常都是与其他运
算符连用起到简化操作的作用。
如下表所示:
运算符 说 明
= x=y,等号右边的值给等号左边的变量,即把变量 y 的值赋给变量 x
+= x+=y,等同于 x=x+y
-= x-=y,等同于 x=x-y
= x=y,等同于 x=x*y
/= x/=y,等同于 x=x/y
%= x%=y,等同于 x=x%y,表示求 x 除以 y 的余数
++ x++ 或 ++x,等同于 x=x+1
– x-- 或 --x,等同于 x=x-1
6、特殊运算符
特殊运算符包含自增运算符,自减运算符和条件运算符。
如下表所示:
运算符 说 明
++ x++ 或 ++x,等同于 x=x+1
– x-- 或 --x,等同于 x=x-1
?: 布尔表达式 ? 表达式 1: 表达式 2
7、运算符优先级
在表达式中使用多个运算符进行计算时,运算符的运算是有先后顺序的,所以定义了运算符
之间的优先级,来判断哪些操作优先计算。
运算符优先级如下表所示:
优先级由高到低依次往下。
运算符 结合性
.(点)、()(小括号)、[](中括号) 从左到右

  • (正)、-(负)、++ (自增)、–(自减)、~(按位非)、!(逻辑
    非)
    从右到左
  • (乘)、/ (除)、% (取余) 从左向右
  • (加)、-(减) 从左向右
    <<、>>、>>> 从左向右
    <、<=、>、>= 从左向右
    ==、!= 从左向右
    & 从左向右
    | 从左向右
    ^ 从左向右
    && 从左向右
    || 从左向右
    ?: 从右到左
    =、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>= 从右到左
    结合性是指具有相同优先级的多个运算符同时存在时,系统执行计算时的方向。
    举例如下:

五、流程控制语句
1、 判断语句

注意:
a.switch中的表达式是一个常量表达式,必须是一个整型或枚举类型,且值不可以相同。
b.使用三目运算符时尽可能的使用括号和空格,使得表达式看起来清晰明了。
2、 循环语句

3、 循环控制语句

你可能感兴趣的:(c#)