关于Unity的C#基础学习(二)
一.Debug的使用
int a=3;
Debug.Log("a="+a);
二.整数的定义
int m;
Debug.Log(m); //C#比C更严谨,没有初始化的变量打印出来使没有意义的,会报错,这个m目前是一个不确定的数。C#的任何一行代码都是有意义的。
三.浮点数的定义
//C#比C更严谨,不能像C中的那样
float a;
a=0.1;
//会报错,必须是
float a;
a=0.1f;
四.表达式
1.赋值表达式=
2.算术表达式+-*/,%,++,--
注意:整数之间的除法做完,是整数,会把余数直接去掉。小数之间的除法做完,则是小数。
小数和整数的混合运算,结果以精度高的为准。
各种运算的混合,也要按照表达式的优先级。
字符与加法的混合,结果是一个字符。
a++的,必须把和a有关的先计算完,才能再把a+1
++a的,必须先把a+1,再进行和a有关的计算
3.比较表达式>,<,>=,<=,==,!=
4.逻辑表达式&&,||
注意:左右语句都必须是逻辑表达式,有true或者false结果的,C#比C更严谨,C里面还可以用一个整型变量表示true,只要不为0就是true,但是在C#中则完全不行,会报错。
5.类型强转
注意:高精度转低精度,精度有损失,必须要用显示的强转符(int),就算是1.00转1也不行,C#更严谨,低精度转高精度不需要。
五.执行顺序
1.顺序执行,如果是函数中的顺序执行,执行完后会执行return语句,就算没有return语句,也会在函数大括号前隐氏地执行return语句返回。
2.条件语句,if(逻辑表达式){},if(逻辑表达式){}else{},if(逻辑表达式){}else if(逻辑表达式){}else{},switch(整数变量/字符变量){case 1:{} break;case 2:{} break;defalut:{}}
注意:switch中的case后面必须带一个break,不像C可以不带,C#更严谨。
3.循环语句,for(初始化,初始化;循环是否继续的条件判断;循环迭代,循环迭代){},do{}while(逻辑表达式),while(逻辑表达式){},
break:终止所以循环,continue:终止本次循环,进行下一次循环
注意:for循环,首先初始化,然后判断是否满足循环条件,如果满足,执行循环体,最后执行循环迭代,接着判断是否满足循环条件...;如果不满足,则退出循环。
for循环的初始化,循环是否继续的条件判断,循环迭代都可以省略。
for循环的循环是否继续的条件判断省略的话就是死循环。
六.函数调用和参数传递(和C最大不同)
C#数据类型:1.基本数据类型 2.引用类型(存的是对象的引用)
注意:1.函数的参数是另外一个变量,函数参数传递只是变量间值的传递,也就是变量和变量之间的赋值
2.但是如果函数参数的类型是引用类型的,当函数返回时,会把原来的引用变量所指的内容改变,因为被赋值的函数引用变量参数也指向了原先引用变量所指向的内容。
七.out的用法(C#和所以语言都不同的一点)
例子
Person p;
p=new Person();
p.name=1;
p.age=10;
create_person(out p);
Debug.Log("p.age=",p.age);//结果等于11
void create_person(out Person p){
p=new Person; //为了区别函数引用变量传递也可以改变原来引用变量所指内容,也就是证明这个person和函数外面那个person不一样,这里故意弄成两个不同的person,如果是平时没有out时传基本类型进来,系统会自动帮我们创建新的变量。
//还有一种更直观的区别函数引用变量传递和out修饰的函数引用变量传递的区别,就是函数引用变量传递的函数中如果把p=null,外面的p依然不为null,而out修饰的函数引用变量传递中把p=null;则外面的那个p就是null。
p.name=0;
p.age=11;
}
//被out修饰的参数,那么在函数内可以直接修改这个变量的值,不管是基础类型的变量还是引用类型的变量。
//我是这样通俗理解的:被out修饰的参数,会把在函数中经过的变化,更新到原来外面的变量,从头到尾就是一个变量被更新了的感觉。
关于Unity的C#基础学习(二)的更多相关文章
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python基础学习二
Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...
- Go基础学习(二)
数组[array] 数组定义[定义后长度不可变] 12 symbol := [...]string{USD: "$", EUR: "€", GBP: " ...
- Django基础学习二
今天继续学习django的基础 学习用户提交url如何获得返回值 1.首先需要在工程的urls文件定义指定的urls要路由给哪个函数 在这个例子中,我们定义home的urls路由给views里的tes ...
- salesforce lightning零基础学习(二) lightning 知识简单介绍----lightning事件驱动模型
看此篇博客前或者后,看一下trailhead可以加深印象以及理解的更好:https://trailhead.salesforce.com/modules/lex_dev_lc_basics 做过cla ...
- CSS入门基础学习二
我们下午继续学习CSS的入门基础,搬上你的小板凳赶快进入吧! 一.背景(background) Background-color:背景颜色 background-image (背景图片) backgr ...
- WebService基础学习(二)—三要素
一.Java中WebService规范 JAVA 中共有三种WebService 规范,分别是JAX-WS.JAX-RS.JAXM&SAAJ(废弃). 1.JAX-WS规范 ...
- jQuery基础学习(二)—jQuery选择器
一.jQuery基本选择器 1.CSS选择器 在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例 标签选择器 E { ...
- HTML基础学习(二)—CSS
一.CSS概述 CSS(Cascading Stytle Sheets)层叠样式表,用来定义网页的显示效果.可以解决HTNL代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显 ...
随机推荐
- javascript&jquery 判断滚动到页面底部
js 判断滚动到页面底部 CreateTime--2018年4月14日10:13:07 Author:Marydon 1.使用场景: 滚动到屏幕底部,触发加载分页数据请求(qq空间,手机端) 2. ...
- windows vbs启动多个应用程序并使程序最小化(显示桌面)
windows vbs启动多个应用程序并使程序最小化(显示桌面) CreationTime--2018年7月26日11点18分 Author:Marydon 1.应用场景 每天开机后,都需要打开平 ...
- jquery获取json对象中的key小技巧,遍历json串所有key,value
比如有一个json var json = {"name" : "Tom", "age" : 18}; 想分别获取它的key 和 value ...
- javax.naming.NoInitialContextException: Need to specify class name in environment or system property
javax.naming.NoInitialContextException: Need to specify class name in environment or system property ...
- Android 四大组件(Activity、Service、BroadCastReceiver、ContentProvider)
转载于:http://blog.csdn.net/byxdaz/article/details/9708491 http://blog.csdn.net/q876266464/article/deta ...
- Eclipse+PyDev 安装和配置(转)
Python开发有很多工具,其中Eclipse+Pydev 是最常见的一种.本文简单介绍Windows下Eclipse+PyDev 安装和配置. Eclipse 是一种基于 Java 的可扩展开源开发 ...
- LeetCode总结 -- 树的求和篇
树的求和属于树的题目中比較常见的,由于能够有几种变体,灵活度比較高,也能够考察到对于树的数据结构和递归的理解. 一般来说这些题目就不用考虑非递归的解法了(尽管事实上道理是跟LeetCode总结 -- ...
- UIButton 按钮控件-IOS开发 (实例)
转自:http://justcoding.iteye.com/blog/1467999 UIButton是一个标准的UIControl控件,所以如果你对UIControl不甚了解还是先看一下我的另一篇 ...
- The Report Of Twisted’s Death or: Why Twisted and Tornado Are Relevant In The Asyncio Age
Speech on PyCon2016 https://www.youtube.com/watch?v=82vuCZ4FLFE
- 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.Invoc
错误提示:严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTa ...