变量:
1.整点类型:sbyte/byte/short/ushort/int/uint/long/ulong/char
浮点型:float/double
十进制类型:decimal
布尔类型:ture或flase,指定的值
空类型:可为空值得数据类型
- int I,j,k;
char c,ch;
float f,salary;
double d;
变量初始化:int i=100;
- Console.ReadLine() 用于接收来自用户的输入,并把它存储到一个变量中
- 两种表达式:Ivalue 左右都行
rvalue 只能出现在右边
- 当精度高的数据类型与一个精度低的数据类型进行运算时,定义运算结果的变量类型必须与精度高的数据类型相同。这是为了防止在运算过程中造成数据丢失。
- 在变量之前加上static关键字,即可声明为静态变量
常量:
1.整数类型,浮点类型,字符常量,字符串常量,定义常量
运算符:
算术运算符:+,-,*,/ ,%,++,--。
c=a++ 先a赋值到c,再对a自增
c=++a a先自增运算,再赋值给c
关系运算符:==,!=,>,<,>=,<=
逻辑运算符:&&,||,!
位运算符:p^q 只要两个数不一样就是1,相同得0
C+=A 相当于 C=C+A
X?y:z 含义是如果x为真,取y否则取z
A??B 含义是当A为空时返回B,否则返回A本身
X<<1=X*2
X<<2=X*4
X>>1=X/2
X>>2=X/4
判断:
If
If…else
嵌套if
Switch
嵌套switch
阶乘公式:num>0 ? num*(num-1) : 1
如果num>0 就运行num*(num-1)否则返回1
循环:
while循环
for/foreach循环
do…while循环
嵌套循环
for( ; ;)
封装:
- 封装:被定义为“把一个或多个项目封闭再一个物理的或者逻辑的包中”
- 访问修饰符定义一个类成员的范围和可见性
- public:所有对象都可以访问
private:对象本身在对象内部可以访问
protected:只有该类对象及其子类对象可以访问
internal:同一个程序集的对象可以访问
protected internal:访问限于当前程序集或派生自包含类的类型
方法:
- 访问修饰符 返回类型 方法名称(参数列表){方法主体}
- 可以使用方法名调用方法
- 递归方法自我调用
- 参数传递:值参数,引用参数,输出参数
- 形参变,实参不变化
- 在C#中,使用ref关键字声明引用参数,这个改变数值的
- 按输出传递参数,可以直接输出;提供给输出函数的变量不需要赋值。当需要从一个参数没有指定初始值的方法中返回值时,输出参数特别有用
- 局部变量只能函数内部访问,字段可以整个类中访问
- ref 引用类型 out 值类型
可空类型:
nullable类型 int ?num1 = null
num3=num1 ?? 6.789 如果num1是空值则返回6.789,否则返回num1
数组array:
数组是一个存储“相同类型”元素的固定大小的顺序集合
声明数组:
double[ ] balance;
初始化数组:
double[ ] balance = new double[10];
赋值给数组:
double[ ] balance = new double[10];
double[0] = 4500.0;
double[ ] balance = {2300.0,2343.43,2131.0};
int [ ] marks = new int[5] {99,98,97,96,95};
数组细节:多维数组(二维数组及以上)
交错数组(数组的数组)
传递数组给函数(可以通过不带索引的数组名称来给函数传递一个指向数组的指针)
参数数组 (传递未知数量的参数给参数)
Array类 (在System命名空间中定义,是所有数组的基类,并提供了各种用于数组的属性和方法)
字符串string:
使用string关键字来声明一个字符串变量
结构体struct:
结构体是值类型数据结构,它是一个单一变量可以存储各种数据类型的相关数据
struct关键字用于创建结构体
枚举Enum:
枚举是一组命名整形常量。
枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值
类class:
定义,函数,封装,构造函数,析构函数,静态成员