欢迎光临散文网 会员登陆 & 注册

【唐老狮】Unity系列之C#四部曲—C#入门

2023-08-11 10:14 作者:为了联盟!  | 我要投稿

介绍


第6课知识点1:VS窗口介绍 P6 - 00:44



第6课知识点4:程序文件的基础结构 P9 - 01:16


每句的命令记得用【分号】结束

命名空间:工具包

类:工具

函数:工具的功能

----------------------------------------------------------

输入与输出


第6课知识点5:控制台输入输出语... P10 - 00:32


WriteLine(“内容”):打印后有空行,甚至可以用作空行符

Write("内容"):打印后没空行

ReadLine():等待玩家输入,按回车结束

ReadKey(): 检测玩家是否按键,只要按了键盘上任意键,就会人为输入结束

----------------------------------------------------------

注释


----------------------------------------------------------

变量类型


第8课:变量 P12 - 04:10


#region 区块名

#endregion

可以在编辑代码时赋予折叠代码的功能。


第8课:变量 P12 - 07:00


声明格式:变量类型 变量名 = 初始值


第8课:变量 P12 - 12:36


拼接打印:WriteLine('' + 变量)

变量类型:

1.有符号整数:sbyte,short,int,long

2.无符号整数:byte,uint,ushort,ulong

3.浮点数:

  • float,数字结尾记得加“f”,存储8位有效数字,从左第一个不是0的数开始算起
  • double:默认浮点数类型,储存15~17位有效数字
  • decimal:结尾加“m”,27~28位有效数字
  • 备注:m,f大写小写都没关系

4.特殊类型:bool,char,string

  • char:字符,单引号
  • string:字符串,双引号


第8课:变量 P12 - 38:60


声明变量:int x = 2;

改变变量: x = 3;

这两者格式有区别


第8课:变量 P12 - 46:51


int x = 1, y = 2, z = 3;


第8课:变量 P12 - 49:33


int a2;变量初始化时建议就赋值,否则不安全

a2 = 1;

----------------------------------------------------------

变量储存空间


第10课:变量的本质 P14 - 02:22


sizeof方法获取变量所占的内存空间(单位:字节)

int sbyteSIze = sizeof(sbyte);

sizeof不能得到string类型的内存空间,因为string的长度时可变的


第10课:变量的本质 P14 - 13:29


变量的本质是二进制,0和1;

1个byte等于8位

----------------------------------------------------------

变量命名规范


第12课:变量的命名规范 P16 - 00:50



第12课:变量的命名规范 P16 - 05:13


----------------------------------------------------------

常量


第14课:常量 P18 - 01:26


const int i2 = 1


第14课:常量 P18 - 01:52


  • 常量必须被初始化
  • 常量不能被修改
  • 用来声明一些常用不变的变量

----------------------------------------------------------

转义符


第16课:转义字符 P20 - 00:37



第16课:转义字符 P20 - 13:17


----------------------------------------------------------

隐式转换


第18课:隐式转换 P22 - 00:39


不同变量类型之间的相互转换

隐式转换的基本规则:不同类型之间自动转换

大范围装小范围的类型,向下兼容,但不能向上兼容:

long l = 1;

int i = 1;

l = i;


第18课:隐式转换 P22 - 08:17


decimal不能隐式储存double、float

bool、char、string之间不存在隐式转换



第18课:隐式转换 P22 - 11:02



第18课:隐式转换 P22 - 18:34


decimal、double,float可以装在任何类型的整数,因为可以用科学计数法来表示数字


第18课:隐式转换 P22 - 26:57



第18课:隐式转换 P22 - 35:41


  • 大范围存小范围:
  • decimal --> 整形(无符号,有符号)--> char
  • double --> float --> 整形(无符号,有符号)--> char
  • long --> int --> short --> sbyte
  • ulong --> uint --> ushort --> byte
  • 无符号无法隐式储存有符号
  • 有符号可以隐式储存无符号,但无符号需要是非负的

----------------------------------------------------------

显式转换


第20课:显示转换 P24 - 00:41


将高精度的类型强制转换为低精度

语法:变量类型 变量名 = (变量类型)变量;

注意:精度问题,范围问题


第20课:显示转换 P24 - 01:56


有符号整形:(无符号整形同理)

sbyte sb = 1;

short s = 1;

sb = (int)s;

括号强转 可能会出现范围文通 造成的异常 (溢出)


浮点数之间

float f = 1.1f;

double d = 1.1234567890123456789f;

f = (float)d;

浮点数强转要注意精度的问题


第20课:显示转换 P24 - 08:04


uint ui2 = 1;

int i2 = 1;

ui2 = (uint)i2;


第20课:显示转换 P24 - 10:29


浮点数转整形时会把小数位上的数字全部丢弃,而不是四舍五入


第20课:显示转换 P24 - 13:04


char c = (char)1;//ASCII码值表


第20课:显示转换 P24 - 14:21


bool、string不能通过括号的形式强转

----------------------------


第20课:显示转换 P24 - 16:11


把字符串类型转化为对应的类型

语法:变量类型.Parse("字符串")

注意:字符串必须能够转换成对应类型,否则报错,


第20课:显示转换 P24 - 17:05


string str = “123”;

int i = int.Parse(str); // 123

要考虑值的范围必须是变量能存储的范围。

(无符号的相同)


第20课:显示转换 P24 - 23:09


要考虑值的精度必须是变量允许的精度范围


第20课:显示转换 P24 - 23:57


bool.Parse("true");

char.Parse("A");

----------------------------


第20课:显示转换 P24 - 25:23


更准确的将各个类型之间进行相互转换

语法:Convert.To 目标类型(变量或常量)

注意:填写的变量或常量必须正确,否则出错


第20课:显示转换 P24 - 26:19


int a = Convert.ToInt32("12");


第20课:显示转换 P24 - 28:34


Convert.ToInt32(1.6f); // 返回2

会四舍五入


第20课:显示转换 P24 - 31:57


----------------------------


第20课:显示转换 P24 - 36:53


作用:拼接打印

语法:变量.toString();

string str = 1.ToString();

WriteLine()就默认调用括号内的所有变量的ToString方法


----------------------------------------------------------

异常


第22课:异常捕获 P26 - 03:33


try{ 希望进行异常捕获的代码块}

catch(Exception e){如果出错了,会执行catch中的代码,e是具体的错误,通过e得到具体的错误信息}

finally{不管有没有出错,都会执行其中的代码} (可选部分)

try中代码块一旦出错后面的代码就不会继续运行了

----------------------------------------------------------

算术运算符


第24课:算数运算符 P28 - 00:46


把右侧的值赋值给左侧的变量


第24课:算数运算符 P28 - 02:56


先算右侧结果,再赋值给左侧变量

09:25(待看)

----------------------------------------------------------

条件运算符


第28课:条件运算符 P32 - 00:38


< > == != >= <=

比较结果是布尔变量: bool result = a > b;


第28课:条件运算符 P32 - 06:45


条件运算符的优先级低于算数运算符

result = a + 3 > a - 2 + 3;


第28课:条件运算符 P32 - 12:36


错误形式:1 < a < 6


第28课:条件运算符 P32 - 14:53


只要是数值,就能用条件运算符进行比较

特殊类型char string bool只能同类型进行 ==, !=的比较

----------------------------------------------------------

逻辑运算符


第30课:逻辑运算符 P33 - 00:48


&& 对布尔值进行运算

bool result = true && false;


第30课:逻辑运算符 P33 - 08:45


符号:||


第30课:逻辑运算符 P33 - 13:38


符号:!

逻辑非的优先级较高:! (3 > 2)


第30课:逻辑运算符 P33 - 18:28


  • 逻辑非优先级最高,逻辑与高于逻辑或
  • 优先级:逻辑运算符 < 条件运算符 < 算术运算符 (逻辑非除外)
  • 多个逻辑组合运用:没有括号的情况下,从左到右依次计算:bool result = i > 3 && i < 3 && l == 2;


第30课:逻辑运算符 P33 - 22:27


逻辑与或逻辑或的左边满足判定条件后,右边就不进行计算了

int i3 = 1;

result = i3 > 0 || ++i3 >= 1;

i3的最后结果还是1,因为i3 > 0为true,已经满足了逻辑或的判定要求,所以++i3就不计算了。

----------------------------------------------------------

位运算符

主要用数值类型进行计算的,将数值转换为2进制,再进行位运算

(待完成)


----------------------------------------------------------

三目运算符


第34课:三目运算符 P35 - 00:36


bool类型 bool类型为true时返回的内容 bool类型为False时返回的内容;

string str = true ? "条件为真" : "条件为假" ;


第34课:三目运算符 P35 - 04:12


第一个空位:结果是bool类型的任意表达式

第二个和第三个表达式:什么表达式都可以,但是它们结果的类型应该是一致的

----------------------------------------------------------

if语句


第36课:if语句 P36 - 00:52


让顺序代码产生分支,满足某种条件时多执行一些代码


第36课:if语句 P36 - 05:03


if(true){}


第36课:if语句 P36 - 11:14



第36课:if语句 P36 - 18:13


----------------------------------------------------------

switch语句


第39课:switch语句 P37 - 00:55


多条路径选其一


第39课:switch语句 P37 - 02:24


switch(变量){

case 常量

满足条件执行的代码

break;

default:

上面case都不满足,就执行此

break

}

注意点:

  • 常量,需要和变量类型一样的值
  • defualt可省略


第39课:switch语句 P37 - 14:29


const char c2 = ‘A’;

switch(c){

case c2:

...

}


第39课:switch语句 P37 - 16:26


满足某些条件时,做的事情时一样的,就可以使用贯穿

不写break,会依次执行某个条件后的所有代码,直到遇到一个break跳出

----------------------------------------------------------

while语句


第41课:while语句 P38 - 00:52



第41课:while语句 P38 - 02:15


while(bool类型的值){

}


第41课:while语句 P38 - 22:23


跳出循环逻辑的关键词

break:跳出循环


第41课:while语句 P38 - 25:08


如果一个if语句嵌套在while中,而break语句再if中,那么break跳出的还是while语句。因为break只针对循环语句


第41课:while语句 P38 - 27:38



第41课:while语句 P38 - 34:45


break在swich中的用法与在while中的相似

continue只和while有关系,和switch没关系

----------------------------------------------------------

do while语句


第44课:do while语句 P39 - 00:41


while:先判断条件,再执行

do while循环:先至少执行依次一次循环语句块中的逻辑,再判断是否继续

do { 循环语句块}

while(bool类型的值); (注意这个分号)


第44课:do while语句 P39 - 03:07



第44课:do while语句 P39 - 09:10


continue在do while中会让程序回到while而非do

----------------------------------------------------------

for循环


第46课:for循环 P40 - 01:22


for(初始表达式; 条件表达式; 增量表达式)

{循环块}

  • 初始表达式:声明一个临时变量,用来计数
  • 条件表达式: bool类型的结果
  • 增量:初始表达式中的变量的自增减

for(int i = 0; i < 10; i++){}

for(int i = 0, j = 0; i < 10 && j < 0; i++, j = j+1){}


第46课:for循环 P40 - 16:39


for循环的死循环:

for(;;){}

----------------------------------------------------------

总结


第48课:总结 P41 - 00:17




















【唐老狮】Unity系列之C#四部曲—C#入门的评论 (共 条)

分享到微博请遵守国家法律