CFor Unity知识点笔记总结
2022-10-19 17:20:31 0 举报
AI智能生成
CFor Unity知识点笔记总结
作者其他创作
大纲/内容
语法基础-变量
什么是变量
<div>变量是在程序执行期间包含“特定数据类型”的存储位置的名称;</div>
变量包含数据类型和变量名两个信息点
变量数据类型
描述数据的类型及用于存放这个数据的内存空间大小。
变量名称
给这个内存空间起个名字,用于后期对数据的操作。
C#编译器执行严格的类型检查,使用了未声明或未赋值的变量都将出现编译错误。
定义的内存空间中不能存放与数据类型不兼容的数据
例如:int B=10.5f;
声明变量的三种方法
数据类型 变量名;
float A;//定义浮点数A;
数据类型 变量名 = 值;<br>
int B=15;//定义整数B,初始化赋值为15;
数据类型 变量名1 , 变量名2;<br>
short c=1,d=2,e=3;//定义3个整数并初始化赋值;
变量命名的规则
变量名必需以字母或下划线“_”开头
变量名只能是字母(a-z A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格
C#区分大小写,即myVar、myVAR和myvar是不同的变量
变量名不能使用编程语言的保留字。比如在C#中不能使用true,false,while,case,break保留字等等
标识符(identifier)
C#程序员为变量、常量、类型、方法等所定义的名字。
关键字(Keyword)
C#程序语言保留作为专用的字(77个),不能作为通常的标识符来使用。<br>
77个C#关键字列表
上下文关键字:
仅在受限制的程序上下文中具有特殊含义,可以在该上下文的外部作标识符,我们可以将这些关键字用做自己的方法、变量和类的标识符,但是一般尽量别这么做。
上下文关键字列表
变量的数据类型
值类型
基本数据类型
整数型
不带小数点
所有的八种整数型
有符号型:可以在前面加“正负”标示的,可以表示负数
无符号型:只能表示正数
浮点数
带小数点
浮点数的三种类型
如果我们在代码中写一个12.3,编译器会自动认为这个数是double型。所以如果我们想指定12.3为float类型,那么你必须在数字后面加上F/f(进行初始化);
布尔型
就两个值:true(1)&false(0)
bool(占一个字节);
字符型
单引号里的字符
char;
char c = ‘b’;
字符在内存中是以数字形式存在,所有整型和<br>字符型是等价的。
int i = 65;也可以使用: int i = ‘A’;<br>char c = ‘A’;也可以使用: char c = (char)65;<br>
双引号里的字符
string;
用来存储一系列的字符
字符串是引用数据类型
string str = “hello world”;
"+"可以把两个字符串连接起来, dis+able=disable
枚举类型(enum type)
是具有一组命名常量的独特的值类型。
enum Color<br>{ <br> Red,<br> Green,<br> Blue<br>}
//声明一个名为 Color 的枚举类型,该类型具有三个成员:Red、Green 和 Blue。
结构类型(struct type)
像类一样,结构(struct)是能够包含数据成员和函数成员的数据结构,但是与类不同,结构是值类型,不需要堆分配。
结构类型不支持用户指定的继承,并且所有的结构类型都隐式地从类型 object 继承。
结构是使用 struct 关键字定义的,通常用来封装小类型相关变量组,例如,矩形的坐标或商品的特征。
public struct Book<br>{<br> public decimal price;<br> public string title;<br> public string author;<br>}
引用类型
类(class)
类类型是由字段数据(成员变量)和操作字段数据的成员(属性、方法、构造函数、事件等)所构成的自定义类型。其中字段数据表示类实例(对象)的状态。
在C#中,类使用class关键字定义
public class Car<br>{<br> //Car的字段(状态)<br> private int _speed;<br> private string _name;<br> //Car操作字段的属性<br> public int Speed<br> {<br> set {this._speed=value;}<br> get{return this._speed;}<br> }<br> public string Name<br> {<br> set { this._name=value;}<br> get{return this._name;}<br> }<br> //显式定义默认构造函数<br> public Car(){}<br> //自定义构造函数<br> public Car(string name,int speed)<br> {<br> this._name=name;<br> this._speed=speed;<br> }<br> //Car的功能(方法)<br> public void ShowState()<br> {Console.WriteLine("Car {0} is going {1} MPH", this._name,this. _speed);}<br>}
对象类型(object)
对象类型是其他所有类型的基础类型,也是.NET中所有类的最终类。
在C#中,所有类型都是直接或者间接的继承对象类型而且继承是隐式的,通常不要求声明类时从对象类继承。
范例
接口(interface)
接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。
接口使用interface 关键字进行定义,可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。
范例
数组
数组类型是一种包含一串相同类型变量的数据结构,每个变量都是一个数组元素。
数组元素可以是任何类型,也包括数组类型
数组下标确定每个数组元素的索引号,通过索引来访问其成员变量的值
只有一个下标的数组称为一维数组,多个下标的称为多维数组<br>
范例
数据类型转换
隐式类型转换(系统完成,无风险)<br>
编译系统自动进行的,不需要加以声明
转换过程中,编译器无需对转换进行详细检查就能够安全的执行转换
一般不会失败、不会出现致命隐患及造成信息丢失
何时发生隐式类型转换:将精度低的类型转换为精度高的类型时<br>
转换语句范例
不同数据类型进行混合运算时,会自动发生隐式转换<br>
整型(包括int, short, long)和浮点型(包括float, double)可以混合运算。
在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算
转换的规则如图
显式类型转换(程序员完成,有风险)<br>
强制类型转换<br>
需要用户明确地指定转换类型<br>
转换过程并不能总是成功,常常引起信息丢失
显示转换的类型
数值类型<br>
枚举类型<br>
引用类型
转换范例
常用字符编码
ASCII
一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。(如:我们是用01000001表示字符‘A’)
常用字符编码
20世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。<br>
转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
所有的转义字符和所对应的意义:
C#常用转义字符
@
表示@号后面的包括有转义符的都按不进行转义运算
@不是万能的,不能解决字符串中有双引号的<br> 问题,如果有双引号还是用转义运算
非ASCII编码
英语(128个字符)用ASCII编码就够了,但是用来表示其他语言,ASCII是不够的。
乱码的出现
世界上存在着多种编码方式,同一个二进制数 字可以被解释成不同的符号。
常见的非ASCII编码类型
GBK
GB2312
2字节,理论上最多可以表示256x256=65536个符号,但是汉字有10万多
Big5
iso8859-1
Unicode(万国码)
有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode(统一编码)
现在的规模可以容纳100多万个符号。每个符号的编码都不一样
Unicode的三种实现方式
UTF-8(1-4个字节)
UTF-16(2-4个字节)
UTF-32(4个字节)
0 条评论
下一页