1.c#数据类型
分类:值类型和引用类型
1.值类型
- 整形:byte(字节) short(短整形) int (基本形) long(长整形)
- 浮点型:float(单精度) double(双精度)
- 布尔型:bool
- 字符型:char
2.引用类型
string(字符串) 数组 类 接口 object .......
值类型和引用类型的区别:
1、值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中
2、值类型存取速度快,引用类型存取速度慢。
3、值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用
4、值类型继承自System.ValueType,引用类型继承自System.Object
5、栈的内存分配是自动释放;而堆在.NET中会有GC来释放
注:.Net程序可以找出某个时间点上哪些已分配的内存空间没有被程序使用,并自动释放它们。
自动找出并释放不再使用的内存空间的机制,就称为垃圾回收机制
(Garbage Collection,简称GC)
2.变量与常量
1.定义
变量:在运行过程中随时会发生变化的量
定义变量名的规则:必须是字母和下划线开头,后面可以跟字母、下划线和数字,但是不能以数字开头
不能用C#关键字定义变量
常量:在运行过程中不会发生变化的量(const)
3.类型转换
转化类型:隐式(自动类型)、强制
1.隐式:从低到高
byte-->short(char)-->int-->long-->float-->double
2.强制:从高到低
byte<--short(char)<--int<--long<--float<--double
4.控制台的输入与输出
Console.WriteLine();
string a=Console.ReadLine();
Line是换行符
5.运算符
(1)算术运算符
算术运算符又分为一元运算符和二元运算符。
一元:++、–、+、-
二元:*、/、%、+、-
对于向加加或者减减这样只需要一个操作数就能完成的运算,称为一元运算符。
-、 *、 /、 %、对于这些需要两个或以上才能完成运算操作符,称为二元运算符。
优先级
一元的运算符的优先级要高于二元的运算符。
(2)比较运算符
(3)逻辑运算符
逻辑运算符只能使用在两个布尔类型之间,当一个判断需要有多个条件时使用。
主要的逻辑运算符
- 逻辑与(&&):左右两个条件都为true时返回true,有一个false就返回false;
- 逻辑或(||):左右两个条件有一个为true时就返回true,两个都是false时返回false
- 逻辑非(!):取反运算
(4)三元运算符
语法一:表达式1 ? 表达式2 :表达式3 ;
(问号)?前面的是判断条件,判断结果为布尔类型(boolean),
返回true时输出表达式2,输出false时输出表达式3
它是 if-else 条件的缩写,那么,三元运算符也有嵌套
语法二:条件表达式 ?表达式1:表达式2 ? 表达式3 :表达式4
(5)二进制运算
&:位与:相当于两个二进制值做乘法运算
|:位或:相当于两个二进制值做加法运算
^:异或:规则(相同为0,不同为1)
!:取反:十进制数加一,然后前面加负号
6.VS快捷键
Ctrl + s 保存
Ctrl + c 复制
Ctrl + v 粘贴
Ctrl + x 剪切
Ctrl + z 撤销
Ctrl + k +d 快速对齐代码
Ctrl + k + c 快速注释选中内容
Ctrl + k + u 快速取消注选中的注释内容