U1L2——生命周期函数
U1L2——生命周期函数
本章代码关键字
123456789MonoBehaviour //脚本内继承该类且脚本与继承该类的类名一致才能使脚本挂载到一些对象上,注意这种类不能new出来,也不再建议写构造函数Awake() { } //当一个对象被创建了,awake()会立刻执行OnEnable() { } //想要当一个对象被激活的时候,进行一些逻辑处理就可以写这个函数Start() { } //与awake一样,都是对象在被创建出来后只会调用一次的函数,区别在于运行时机不同FixedUpdate() { } //主要用于进行物理更新的函数Update() { } //主要用于处理游戏核心逻辑更新的函数LateUpdate() { } //一般是用来处理摄像机位置更新相关内容的函数OnDisable() { } //如果希望在一个对象每次失活时做一些处 ...
CS1L16——switch语句
CS1L16——switch语句
switch
让顺序执行的代码 产生分支
基本语法
注意:常量只能写一个值,不能写变量,一个范围 条件运算符 逻辑运算符!
switch只判断变量是否等于一个固定值!!!
case 可以有无数个,如果上面 case 的条件都不满足 就会执行 default 代码块
123456789101112131415161718192021222324252627282930313233//switch (变量)//{// 变量 == 常量 执行 case 和 break 之间的代码// case 常量:// 满足条件执行的代码逻辑;// break;// case 常量:// 满足条件执行的代码逻辑;// break;// case可以有无数个// default:// 如果上面case的条件都不满足 就会执行 default代码块;//}//注意:常量只能写一个值,不能写变量,一个范围 条件运算符 逻辑运算符!//switch ...
CS1L15——if语句
CS1L15——if语句
if
作用
让顺序执行的代码 产生分支
if语句是一个可以让程序产生逻辑变化的语句
if
作用:满足条件时多执行一些代码
12345//固定语法:if( bool类型值 ) //bool类型相关:bool变量 条件运算符表达式 逻辑运算符表达式{ 满足条件时要执行的代码写在if代码块里;}
注意:if语句的语法部分不需要写 “;”,if可以嵌套使用
12345678910111213141516171819202122232425if (true){ Console.WriteLine("进入了if语句的代码块"); Console.WriteLine("执行了其中的代码逻辑");}Console.WriteLine("if语句外的代码");int a = 1;if (a > 0 && a < 5){ Console.WriteLine("满足a在0到5之间");& ...
CS1L14——三目运算符
CS1L14——三目运算符
三目运算符
基本语法
套路:3个空位 2个符号
固定语法:空位 ?空位 :空位;
关键信息:bool类型 ?bool类型为真返回内容 :bool类型为假返回内容;
三目运算符会有返回值,这个返回值类型必须一致,并且必须使用!
12345678910111213string str = false ? "条件为真" : "条件为假";Console.WriteLine(str);int a = 5;str = a < 1 ? "a大于1" : "a不满足条件";Console.WriteLine(str);int i = a > 1 ? 123 : 234;Console.WriteLine(i);## 条件为假## a不满足条件## 123
具体使用
第一个空位 始终是结果类型是bool的表达式 bool变量 条件表达式 逻辑运算符表达式
第二三个空位 什么表达式都可以 只要保证他们的结果类型是一致的
1234bool b = a > 1 ? a > 6 ...
CS1L13——位运算符
CS1L13——位运算符
位运算符
位运算符是用于二进制的对位运算,一个字节的表示格式是这样的:0000 0000
补充知识:反码与补码
内存内存储的二进制数都是补码,而首位数即符号位为0的是正数,为1的是负数
正数的负码和补码与原码都相同
负数的负码是在原码首位不变的情况下都取反,负数的补码是在负码的基础上+1
1111 1111 1111 1111 1111 1111 1111 1001 符号位是1,是负数,因此将补码-1还原为负码
1000 0000 0000 0000 0000 0000 0000 0110 => -6 将负码除符号位的每一位都取反,还原为原码,110 => 6 因此是-6
位与 &
规则 连接两个数值进行对位运算 将数值转为二进制
对位运算 有0则0
1234567891011121314151617181920212223242526int a = 1; //001int b = 5; //101 // 001 //& 101 // ...
CS1L12——逻辑运算符
CS1L12——逻辑运算符
逻辑运算符
对两个 bool 进行逻辑运算,返回 bool 值
逻辑与
符号 &&,规则 对两个 bool 值进行逻辑计算 有假则假 同真为真
? && ?,? 可以是写死的 bool 变量 或者 bool 值,还可以是条件运算符相关表达式
12345678bool result = true && false;Console.WriteLine(result);result = true && true;Console.WriteLine(result);result = false && true;Console.WriteLine(result);result = false && false;Console.WriteLine(result);
输出:
1234FalseTrueFalseFalse
bool 相关的类型 条件运算符
与 和 或 这样的逻辑运算符的优先级低于条件运算符低于算数运算符
1234567result ...
CS1L11——条件运算符
CS1L11——条件运算符
条件运算符
输出 bool 值,用于比较两个变量或者常量
是否大于 >,是否等于 <
是否等于 ==,是否不等于 !=
是否大于等于 >=,是否小于等于 <=
条件运算符 一定存在两边的内容:左边内容 条件运算符 右边内容
条件运算符必需要用一个变量存储或是使用,比较结果就是返回一个 bool 值,如果比较条件满足就返回 true,不满足就返回 false
1234567891011121314151617181920int a = 5;int b = 10;bool result = a > b;Console.WriteLine(result);result = a < b;Console.WriteLine(result);result = a >= b;Console.WriteLine(result);result = a <= b;Console.WriteLine(result);result = a == b;Console.WriteLine(result);result ...
CS1L10——字符串拼接
CS1L10——字符串拼接
字符串拼接
第一种方法“+”
字符串拼接只有"+"
之前的算数运算符,只是用于数值类型变量进行数学运算,而string不存在算数计算法,但是可以+进行字符串拼接
123456string str = "";str = "123";str = str + "456";Console.WriteLine(str);str = str + 1;Console.WriteLine(str);
输出:
121234561234561
复合运算符 += 也可以用于字符串拼接
+= 字符串拼接会有一定的规则和特性:
会先试图计算,计算遇到字符串之后全部变成字符串拼接
一般是先计算括号内的数,再从左向右算,碰到字符串时后面的计算都会变成字符串拼接
12345678910111213141516171819202122//复合运算符 +=str = "123";str += "1" + 4 + true; //右边会先将非字符串类型转 ...
CS1L9——算术运算符
CS1L9——算术运算符
算数运算符
算数运算符是用于数值类型变量计算的运算符,返回结果是数值
“=”赋值符号
先看右侧 再看左侧,将右侧的值赋值给左侧的变量
123string myName = "SevenL";int myAge = 18;float myHeight = 175.66f;
算数运算符 + - * / %
1234567891011//用自己计算,先算右侧结果再赋值左侧变量int i = 1;i = i + 1; // 2Console.WriteLine(i);//连续计算,先算右侧结果再赋值左侧变量i = 12 + 23 + i; //注意:这里的i用仍然是之前的值//初始化就计算,先算右侧结果再赋值左侧变量int i2 = i + 2345; //注意:这里的i用仍然是之前的值 //注意左边往往只有一个变量,而不会是算式
1234567891011//用自己计算,先算右侧结果再赋值左侧变量int j = 1;j = j - 1; // 0Console.WriteLine(i);//连 ...
CS1L8——异常捕获
CS1L8——异常捕获
异常捕获
通过异常捕获,避免当代码报错时,程序直接卡死,基本语法如下:
关键字
1234567891011121314151617//必备部分try{ //将希望进行异常捕获的代码块,放入try中 //如果程序报错,进入catch代码块}catch(Exception ex){ //如果try部分报错,会执行该代码块 //(Exception ex)将错误信息定义到ex内,得到具体错误消息,便于跟踪错误}//可选部分finally{ //不管有没有出错最终都会执行的代码块}//注意:异常捕获代码基本结构不需要加;,内部的代码逻辑需要加;
异常捕获的例子
1234567891011121314151617181920212223242526namespace lesson8异常捕获{ internal class Program { static void Main(string[] args) { ...