开发网站公司,公司外贸网站,邯郸做网站询安联网络,西宁建设工程官方网站Unity学习笔记#xff08;零基础到就业#xff09;#xff5c;Chapter01:C#入门 前言一、控制台输入输出语句二、初识变量1.一些好用的tips2.变量声明的固定写法3.变量类型 三、变量的本质1.变量的存储空间2.变量的本质#xff1a;2进制 四、变量的命名规范1.必须遵守的规则… Unity学习笔记零基础到就业Chapter01:C#入门 前言一、控制台输入输出语句二、初识变量1.一些好用的tips2.变量声明的固定写法3.变量类型 三、变量的本质1.变量的存储空间2.变量的本质2进制 四、变量的命名规范1.必须遵守的规则2.常用命名规范 五、常量1.常量的声明2.常量的特点 六、转义字符1.转义字符的使用2.取消转义字符 七、类型转换不同变量类型之间的相互转换1.隐式转换1相同大类型之间的转换规则2不同大类型之间的转换规则 2.显式转换1括号强转2Parse法3Convert法4其他类型转stringToString 八、异常捕获九、运算符1.算数运算符2.字符串拼接3.条件运算符4.逻辑运算符5.位运算符6.三目运算符 十、条件分支语句1.if1if语句2if else语句3if else if else语句 2.Switch 十一、循环语句1.while2.do while3.for4.foreach 总结 前言
游戏作为一种情感表达的载体在让玩家感到有趣和感动的同时也建立了人与人之间的链接我想看看更多在不同意识形态和文化背景下的知识的碰撞和思想的迸发所以开始了游戏开发的自学之路人生就这一次就这么几十年喜欢什么想要尝试什么咱就去做吧
这系列的学习笔记主要是根据唐老狮的unity实战路线课程整理的加入了自己的一些补充和理解该课程涉及的知识内容非常多我并未学完而是根据就业需求挑选学习的也对后续框架部分进行了一些修改希望能通过整理并时常阅读这些笔记巩固开发知识也希望能跟在学习unity的小伙伴一起分享、探讨笔记中有疑问或出错的部分也希望大佬们能够给予指导鸭 一、控制台输入输出语句
console.wirteline console.wirte console.readline按回车键才会继续执行后续代码 console.readkey检测玩家是否按键只要输入任意键就会继续执行后续代码不会把输入的内容显示在控制台上
二、初识变量
1.一些好用的tips
1折叠代码
#region 知识点一 变量
//代码内容
#endregion2代码注释 单行注释
//注释内容选中多行快速注释/取消注释 选中后同时按下ctrlk/ 则实现快速注释 选中后同时按下ctrlc/ 则实现快速取消注释 mac电脑为commandk/ 以及 commandc/
多行注释
/*
注释内容01
注释内容02
*/代码块注释
/// summary
/// 函数用处说明
/// /summary
/// param namename对于name参数的描述/param
/// param namenum对于num参数的描述/param
private void Tip(string name,int num)
{
}2.变量声明的固定写法
变量类型 变量名初始值; 【注1】多个相同类型变量同时声明时用逗号隔开 【注2】变量声明时可以不设置初始值但在使用时必须是赋了值的
int a11,b12,c13;
string s1123,s2234;c#可以使用var声明临时变量例如 var i10; 并且var在编译时会被推断为正确的类型所以在运行时不会引入额外的性能开销。var声明临时变量只会影响代码的可读性和可维护性(双刃剑)
3.变量类型 三、变量的本质
1.变量的存储空间
可以通过sizeof方法得到变量类型所占的内存空间字节数但不能得到string类型的字符串类型的长度是变化的
int sbyteSizesizeof(sbyte);
Console.WriteLine(sbyte 所占的字节数为sbyteSize);2.变量的本质2进制
变量的本质是2进制计算机中所有数据的本质都是二进制是一堆0和1
数据传递只能通过电信号只有开和关两种状态所以就用0和1来表示这两种状态。计算机中的存储单位最小为bit位它只能表示0和1两个数字1bit就是1个数要么是0要么是1。
为了方便数据表示出现一个叫byte字节的单位它是由8个bit组成的存储单位所以一般说一个字节为8位。
【注】2进制和10进制的转换四、变量的命名规范
1.必须遵守的规则
不能重名、不能以数字开头、不能以程序关键字命名、不能有特殊符号下划线除外、建议用英文拼音表示变量且要有准确的含义
2.常用命名规范 //变量驼峰命名法首字母小写之后单词首字母大写 int studentName;//函数、类所有单词首字母大写 private void MyFunc(){}public class MyClass{}五、常量
1.常量的声明
加上const关键字 const 类型 常量名初始值
2.常量的特点
1必须初始化2不能被修改值
六、转义字符
1.转义字符的使用
什么是转义字符字符串中的一部分用来表示一些特殊含义的字符如单引号’、双引号、空行\n、斜杠\、制表符\t空一个tab键、光标退格\b 固定写法\字符
2.取消转义字符
在string前加就会忽略所有转义字符
七、类型转换不同变量类型之间的相互转换
1.隐式转换
基本规则不同类型之间进行自动的转换但必须是小范围的转到大范围的大范围装小范围
1相同大类型之间的转换规则
long l1;
int i1;
short s1;
sbyte sb1;
//不能够用小范围的类型去装大范围的类型
//il; 会报错
//int隐式转换为了long
li;2不同大类型之间的转换规则
case1:有符号与无符号之间正负号 a有符号的是不能隐式转换成无符号的负数不可能转换过来 b无符号变量可以转为有符号变量前提是有符号变量的范围涵盖了无符号变量的范围 case2:特殊类型和其他类型之间 astring和bool不参与隐式转换 bchar可以转为整数整数可以转为浮点数反之不能
2.显式转换
基本规则手动处理强制转换
1括号强转
主要用于数值类型之间的转换将高精度的类型强制转为低精度的可能会因范围问题造成结果异常 变量类型a 变量名变量类型a变量
2Parse法
把字符串转为其他类型的方法。注意字符串必须能够转为对应类型类型与范围都要合法合规否则会报错 变量类型.Parse(“字符串”)
string str1123;
int iint.Parse(str1);
//iint.Parse(123.45);就会报错3Convert法
更准确比括号强转好地将各个类型之间进行相互转换可四舍五入如果是字符串转其他类型也像parse一样要合法合规 Convert.To目标类型变量或常量
int a;
aConvert.ToInt32(1.45845f);
Console.WriteLine(a);
//布尔类型也可以转为数值类型true对应1false对应0
aConvert.ToInt32(true);
Console.WriteLine(a);
aConvert.ToInt32(false);
Console.WriteLine(a);4其他类型转stringToString
变量.ToString()
string str11.ToString();
string str2true.ToString();
string str3A.ToString();
string str41.234f.ToString();int a123;
string saa.ToString();//当我们进行字符串的拼接时就自动会调用Tostring
Console.WriteLine(hello123true);八、异常捕获
作用避免当代码报错时造成程序卡死的情况可将容易出错的代码放入try语句块中出现问题了就会跳过这个异常执行catch中的代码也可通过变量e打印出具体的错误信息 。 代码示例
try
{string strConsole.ReadLine();int iint.Parse(str);Console.WriteLine(i);
}
catch
{Console.WriteLine(请输入合法数字);
} 九、运算符
1.算数运算符
1赋值符号 2算数运算符 - * / % 3复合运算符 - * / % 4自增减运算符 i i-- i --i
【注1】整形变量做除法默认小数位会丢失所以要将至少其中一个数加上f
【注2】取余跟乘除的优先级是一样的
【注3】先用再加/减i i-- 先加/减再用i --i 2.字符串拼接
1号进行拼接 注意字符串中的是拼接而非运算并且也可以使用复合运算符
string str1;
str11234;//1234string str2string;
str21234;//string1234string str3;
str3 1 2 3 4;//334string str4;
str412(34);//372string.Format”待拼接的内容”内容1内容2… 固定规则想要被拼接的内容用占位符替代{数字}数字是0n
string str;
strstring.Format(我是{0},今年{1}岁我想要{2},feifei,27,学习unity);3控制台打印拼接
4StringBuilder.Append(“字符串内容”);
【注1】StringBuilder也可以用来拼接字符串StringBuilder.Append();
【注2】String每次修改拼接时会重新分配内存空间产生垃圾而StringBuilder修改字符串时不会创建新的对象因此需要频繁修改和拼接的字符串可以用StringBuilder可以提升性能。但String提供了更多方法供使用需要使用这些特殊方法来处理一些特殊逻辑时可以使String。3.条件运算符
条件运算符用来比较两个变量或常量 1 2 3 4! 5 6
【注】char类型可以进行大小比较会自动转换为ascii码值进行判断因此要判断某个字符是否在az之间就可以将该字符与a、z比较大小4.逻辑运算符
1 逻辑与 2|| 逻辑或 3逻辑非对一个bool值取反逻辑非的优先级较高要对一个条件运算结果取反的话要打上括号 4混合使用优先级逻辑非 〉逻辑与 〉逻辑或 5逻辑运算符短路规则只要 逻辑与 或着 逻辑或 左边满足了条件逻辑或有真则真逻辑与有假则假后面的结果就不会再计算了。
5.位运算符
用数值类型进行计算的运算符将数值转换为2进制再进行运算 。 1位与 链接两个数值进行位运算将数值转为2进制有0则0。多个数值进行位运算没有括号时从左到右依次计算
int a1;//001
int b5;//101
int cab;//0012位或 对位运算有1则1
int a1;//001
int b5;//101
int cab;//1013异或^ 对位运算相同为0不同为1
int a1;//001
int b5;//101
int ca^b;//1004位取反 0变11变0需要注意的是要把前面补全比如int类型有32位第一位是正负符号在取反后还要用反码补码 5左移 右移 左移让一个数的2进制数左移几位右侧增加几个0 右移右移几位右侧去掉几个数
6.三目运算符
固定语法bool类型bool变量/条件表达式/逻辑运算符 bool类型为真返回的内容 bool类型为假返回的内容
string strfalse ? 条件为真:条件为假;
Console.WriteLine(str);int a5;
string stra10 ? a小于10:a大于等于10;
Console.WriteLine(str);int ia1 ? 123:234;【注】三目运算符会有返回值这个返回值类型必须一致并且必须使用十、条件分支语句
1.if
【注1】满足了一个后之后的即使满足条件也都不会执行了
【注2】括号中的bool类型值包括bool变量/条件表达式/逻辑运算符1if语句
if语句让顺序执行的代码产生分支满足条件时多执行一些代码可以无限嵌套 固定语法
if(bool类型值)
{满足条件要执行的代码写在if代码块中;
}2if else语句
if else语句产生两条分支满足条件做什么没满足条件又做什么可以嵌套 固定语法
if(bool类型值)
{满足条件要执行的代码;
}else
{不满足第一个条件要执行的代码;
}3if else if else语句
if else if else语句产生n条分支最先满足哪条分支的条件就执行该分支内的语句其中最后那个else可以省略 固定语法
if(bool类型值)
{满足条件要执行的代码;
}else if(bool类型值)
{满足条件要执行的代码;
}else
{不满足上述条件要执行的代码;
}2.Switch
固定语法
switch(变量)
{//变量常量就满足条件会执行该case和break中的代码case 常量:满足条件执行的代码逻辑break;case 常量:满足条件执行的代码逻辑break;//case 可以有无数个default:如果上面case的条件都不满足就会执行default中的代码break;
}【注1】Switch一般要配合枚举使用
【注2】只能判断变量是否等于一个固定值常量不能为一个范围/条件运算/逻辑运算但可以自定义常量即声明一个常量的变量
【注3】default可省略有点类似elseif中的else
【注4】贯穿当某些条件被满足后要执行的代码是一样的时候就可以使用贯穿贯穿举例
int aa1;
switch(aa)
{//不写case后配对的break就叫做贯穿//满足1 3 4 2其中一个条件就会执行之后的代码case 1:case 3:case 4:case 2:Console.WriteLine(是个数字);break;default:break;
}十一、循环语句
1.while
固定语法
while(bool类型值)
{
当满足条件时就会执行while语句块中的代码
...
...
...
当代码逻辑执行完会回到while循环开头再次进行条件判断
}【注】流程控制关键字continue和break。 continue后的语句都不会执行了但会回到循环开始继续执行break是直接跳出循环
//打印1到20之间的奇数
int index0;
while(index20)
{index;if(index%20){continue;}Console.WriteLine(index);
}2.do while
先斩后奏先至少执行一次循环语句中的代码再去判断是否继续实际开发中使用较少 固定语法
do
{要循环执行的逻辑;
}while(bool类型值);【注1】do while语句在while后存在一个很重要的分号“;”,没写会报错
【注2】使用continue会回到while条件判断处3.for
一般用来准确得到一个范围中的所有数 固定语法
for(初始表达式;条件表达式;增量表达式)
{循环代码逻辑;
}//初始表达式就是申明临时变量用来计数可以连续声明用逗号隔开
//条件表达式进入循环的条件只要是bool类型值都可以
//增量表达式执行一次循环逻辑过后要做的事情做啥都行一般是进行自增减运算
for(int i0,j0;i10j5;i,ji){}//for循环可以嵌套但声明的变量不能是同一个
for(int i0;i10;i)
{for(int j0;j10;j){Console.WriteLine(i_j);}
}//这三个空可以为空
int k0;
for(;k10;)
{k;
}4.foreach
int scoreSum0;
int[] myClassScores new int[] { 90, 86, 87, 98, 100 };
foreach (int score in myclassScores)
{scoreSum score;
}总结
Chapter01C#入门中主要介绍了c#中变量、常量、转义字符、类型转换、异常捕获、运算符、条件分支语句与循环语句的语法知识内容。特别是变量类型、类型转换、运算符和条件、循环语句在后续开发中运用的非常多。