您的位置:首页 > 移动开发 > Unity3D

C# for Unity 编程语言快速入门教程(连载1)---C#语言入门

2016-07-26 20:17 691 查看
C# for Unity 编程语言快速入门教程(连载1)---C#语言入门


最近一段时间,开始接手51CTO学院的游戏开发(Untiy引擎方向)直播课程, 为Unity游戏开发爱好者提供高质量的在线培训服务。
接手培训一段时间以来发现一个最突出的棘手问题,就是有不少学员(40%高校学生,60%在职人员)编程基础非常薄弱,甚至是完全的Unity“24K金”纯小白,而且还有不少是“99.999%”高纯度的编程小白。没有办法,只能从最最基础的编程基础进行辅导。
这几天想,也一定有更多的想学习Unity游戏开发(VR/AR)的小白学员,想得到快速入门,所以决定把自己几年来整理与设计的C#语言入门/基础/中级/进阶等级别的教学资料共享出来,供更广大学员可以免费学习查阅。

C#语言入门知识点总结如下:

1:计算机的基本原理:
1)数制的转换
二进制转换为十进制。
(1010001)=81

计算方法如下:
1*2(6)+1*2(4)+1*2(0)=64+16+1=81

0 /1 /2 /3 /4 /5 /6
1/2/4 /8/16/32/64

2:C#与Unity发展历史.

3: C#编程语言的基本元素。
程序/算法/流程图。

4:变量/常量
Int a=10; cons int b=20;

5:数据类型
为了节省程序中数据的内存空间(省内存)。
整型: Sbyte/short/int /long/
浮点型(小数点):float/double
字符型: char

6: 三大运算符(算术/关系/逻辑)

7:表达式与数据类型优先级关系。
总结数据类型优先级规则:
1) 算术>关系>逻辑运算符 (逻辑“非”除外[比算术优先级还高])
2) 如果记不清楚复杂表达式的优先级关系,可以直接加“()”小括号来,来强制规定优先级。

8:数据类型的转换
低精度数据类型? 高精度数据类型(自动[隐式]转换)
高精度数据类型?低精度数据类型 , 由于可能存在丢失数据精度,所以C#规定必须进行“强制转换”。[即:加小括号做强制转换]。

9:C#流程控制语句
9.1: 流程判断结构语句
单分支语句: if
双分支语句: if…else
多分支语句: if…else if….
多分支语句(简化): switch…case

9.2: 循环结构:
While: 先判断再执行,适用于循环次数不固定场合。
Do…while 先执行一次,然后判断是否进行循环执行。,适用于循环次数不固定场合。
For : 适用于循环次数比较固定的场合。
Continue/Break

10: C# 学习数组。

学好C#语言基础,是学好C#语言的重要一步,所以多做一些经典的练习题是非常必要的。现提供以下习题与对应参考答案供广大C#初学者参考。

一: 学习“单/双分支”判断语句

/* 第1题 比较两个数值大小 */

int a=10;
int b=50;

if (a > b)
{
Console.WriteLine("a>b");
}
else {
Console.WriteLine("a<=b");
}

/* 第2题 给出2个数,判断较大的数值 */
int a = 100;
int b = 50;

if (a > b)
{
Console.WriteLine("较大的数是:{0}",a);
}
else
{
Console.WriteLine("较大的数是:{0}", b);
}

/* 第3题 给出三个数,求出最大数值 */
int a = 2000;
int b = 23;
int c = 222;
int intMax=0; //存放最大数值

if (a > b)
{
intMax = a;
}
else {
intMax = b;
}
if(c>intMax)
{
intMax = c;
}
Console.WriteLine("三个数中最大数值={0}",intMax);

二 : 学习的多分支判断语句示例代码

/* 第4题

学习“多分支”判断语句 if..else if
题目: 判断考试成绩:
如果大于等于90分,就是“优”,如果
大于等于75,小于90,良。
大于等于60,及格。
小于60,不及格
*/
int intExamScoreResult = 59; //考试的成绩

if(intExamScoreResult>=90)
{
Console.WriteLine("优");
}
else if (intExamScoreResult >= 75 && intExamScoreResult<90)
{
Console.WriteLine("良好");
}
else if (intExamScoreResult >= 60 && intExamScoreResult < 75)
{
Console.WriteLine("及格");
}
else {
Console.WriteLine("不及格");
}

/* 第5题
题目: (学习Switch case 语句)
考试成绩: 如果A: 则打印优等,B:打印“良好”....
*/
char chScoreResult='2'; //注意: 定义变量,尽量使用有“意义”的单词进行命名。

switch (chScoreResult)
{
case 'A':
Console.WriteLine("优秀,大牛!");
break;
case 'B':
Console.WriteLine("良好,还行!");
break;
case 'C':
Console.WriteLine("及格,人生不要‘凑活’! ");
break;
case 'D':
Console.WriteLine("不及格,努力把,燃烧您的小宇宙把! 加油!");
break;
default:
Console.WriteLine("其他情况");
break;
}

三: 学习循环语句

/* 第6题
累加1-100 的和。(1+2+3+.....+97+98+99+100=?)
*/
int intCircle = 1; //循环变量
int intResult = 0; //存储累加和

while(intCircle<=100)
{
intResult = intResult + intCircle;
//++intCircle;
}
Console.WriteLine("1-100的累加和={0}",intResult);

/* 第7题
打印输出10个“大家好”。
*/
int intIndex = 1; //循环变量

while (intIndex<=10)
{
Console.WriteLine("大家好!");
++intIndex;
}

/* 第8题
输出 1-100 所有数值。
*/
int intIndex = 1; //循环变量

while (intIndex <= 100)
{
Console.WriteLine(intIndex);
++intIndex;
}

/* 第9题
编写程序,输出1-100间的所有偶数。
*/
int intIndex = 1; //循环变量

while (intIndex <= 100)
{
if(intIndex%2==0)//表示能够被2整除
{
Console.WriteLine(intIndex);
}
++intIndex;
}

/* 学习Do...while 循环语句 */

/* 第10题
学习Do...while 循环语句
1 到 100 的累加和

*/
int intCircle = 1; //循环控制变量
int intResult = 0; //累加和

do
{
intResult=intResult+intCircle; //累加
++intCircle;
} while (intCircle<=100);
Console.WriteLine("1到100 的累加和="+intResult);

/* For 语句做 1到100的累加和 */
int intResult = 0; //累加和

for (int intCircle = 1; intCircle <= 100; intCircle++)
{
intResult = intResult + intCircle; //累加
}
Console.WriteLine("1到100 的累加和=" + intResult);

/* 第11题

学习 Break/Continue 关键字。 作用是:改变程序的流程
求1-100 累加和,只得到结果为4位数的时候即可。
(也就是说,结果>=1000,的时候,直接得到结果,不再需要继续计算)
*/
int intResult = 0; //累加和

for (int intCircle = 1; intCircle <= 100; intCircle++)
{
if (intResult>=1000)
{
//退出循环体
break;
}
intResult = intResult + intCircle; //累加
}
Console.WriteLine("1到100 的累加和=" + intResult);

/* 第12题

使用 "continue " 编写程序,输出1-100间的所有偶数。
*/
for (int i = 1; i <=100 ; i++)
{
if(i%2!=0) //说明为奇数
{
//作用为:不执行后面的语句,而发起新的循环。
continue;
}
Console.WriteLine(i);
}

好了,限于篇幅笔者先写到这,下一篇继续。

本文出自 “刘老师讲Unity” 博客,请务必保留此出处http://liuguozhu.blog.51cto.com/9142031/1830352
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: