IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity3D数字孪生开发笔记——代码篇 -> 正文阅读

[游戏开发]Unity3D数字孪生开发笔记——代码篇

一、格式化字符

  • 占位符
  • 标准数字字符串格式化
  • 转义符
  • 回车换行/水平制表格
using System;

namespace Day02
{
    class Program
    {
        static void Main(string[] args)
        {
            string gunName = "AK47";
            string ammoCapacity = "30";
            Console.WriteLine("枪的名称为:" + gunName + ",容量为:" + ammoCapacity + "." );
            //占位符{位置的编号},如果编号大于参数列表长度,则异常
            string str = string.Format("枪的名称为:{0},容量为:{1}.", gunName, ammoCapacity);
            Console.WriteLine(str);
            //
            //标准数字字符串格式化
            Console.WriteLine("金额:{0:c}",10);//货币¥10.00
            Console.WriteLine("{0:d2}", 5);//05 不足2位用0填充
            Console.WriteLine("{0:f1}", 1.26);//1.3 根据指定精度显示
            Console.WriteLine("0:p0", 0.1);//10% 以百分数显示

            //转义符  改变字符原始含义 \"  \'  \0 
            Console.WriteLine("我爱\"unity!\"");
            char c1 = '\'';// '
            char c2 = '\0';//空字符 ‘’  

            // \r\n回车换行  \t 水平制表格
            Console.WriteLine("你好,\r\n我是\t哆啦A梦。");
 
        }
    }
}

二、运算符

1、赋值运算符

  • 将右边的结果赋值一份给左边
    int a=1;
  • 赋值表达式自身也有值,其本身值为所赋值
    int num01,num02;
    num01 = num02 = 1;

2、算术运算符

  • 对数值类型(整型、非整型)进行算术运算的符号
  • 包括:加+ ???? ~~~~ ???? 减- ???? ~~~~ ???? 乘* ???? ~~~~ ????除/ ???? ~~~~ ????取模%
  • String 类型可以使用+ ,意为字符的拼接

3、比较运算符

  • 判断数值间大小关系的符号
  • 包括:大于> ???? ~~~~ ???? 小于< ???? ~~~~ ???? 大于等于≥
    小于等于≤ ???? ~~~~ ???? 等于== ???? ~~~~ ???? 不等于 !=
  • bool isEqual =1!=2; —true
  • string 类型可以使用==和!=,意为文本是否相同

4、逻辑运算符

  • 判读bool值关系的符号
  • 包括:与&& ???? ~~~~ ???? 或|| ???? ~~~~ ???? 非!
  • 参与逻辑运算的变量或表达式都是bool类型,结果也为bool类型
  • 短路逻辑:
    1>对于&&运算符,当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运行结果一定时flase。
    2>对于||运算符,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个数为何,最后的运算结果一定是true。

5、快捷运算符

  • 包括:+= ???? ~~~~ ????-=$~~~~$0*= ???? ~~~~ ???? /= ???? ~~~~ ???? %=

6、一元运算符

  • 操作数只有1个的运算符;
  • 包括:++ ? ~ ? - ? ~ ?-
  • 后缀增量操作 i++:返回的结果为自增以前的值
  • 前缀增量操作 ++i:返回的结果为自增以后的值
  • 注意:逻辑难理解,以++为例
    (1)先加还是后加,对于[下一条指令],都是自增以后的值;
    (2)后加后自增,先返回值
    (3)先加先自增,后返回值

//(1)无论先加还是后加  对于[下一条指令],都是自增以后的值
int number01 = 1;
number01++;
Console.WriteLine(number01);//2

int number02 = 1;
++number02;
Console.WriteLine(number02);//2

//(2)后加--》后自增--》  先返回值
int number03 = 1;
Console.WriteLine(number03++);//1 结果:自增以前
Console.WriteLine(number03);//2

//(3)先加--》先自增--》  后返回值
int number04 = 1;
Console.WriteLine(++number04);//2 结果:自增以后
Console.WriteLine(number04);//2

8、三元运算符(条件运算符)

  • 格式为:数据类型 ?? ~~ ??变量名 ?? ~~ ??= ?? ~~ ??条件 ?? ~~ ?? ?? ~~ ??满足条件结果 ?? ~~ ??:不满足条件结果

9、优先级

  • 准则:先乘除后加减,小括号优先级最高
    具体: 请点击.
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

10、代码

using System;

namespace Day02
{
    class Program
    {        
        //运算符
        static void Main()
        {
            //1.算术运算符:对数字进行算术运算
            int n1 = 5, n2 = 2;
            int r1 = n1 / n2;// 5/2==>2.5 截断删除 2
            int r2 = n1 % n2;//取模(余数)
            // %作用:
            //(1)判断一个数字能否被另一个数字整除
            //n1 是否能被2 整除   true是偶数   false是奇数
            bool r3 = n1 % 2 == 0;
            //(2)获取一个整数的个位
            int r4 = n1 % 10;

            string s1 = "5", s2 = "2";
            string r5 = s1 + s2;//字符的拼接

            //2.比较运算符>  <  >=  <=     等于==   不等于!=
            bool r6 = n1 == n2;
            bool r7 = s1 == s2;//文本是否相同

            //3.逻辑运算符  &&  ||   !
            bool r8 = true && true;//真  与   真 结果:真
            bool r8 = false && true;//假  与   真 结果:假
            bool r8 = true && false;//真  与   假 结果:假
            bool r8 = false && false;//假  与   假 结果:假
            //总结:一假俱假  表达 并且 的关系

            bool r9 = true || true;//真  与   真 结果:真
            bool r9 = false || true;//假  与   真 结果:真
            bool r9 = true || false;//真  与   假 结果:真
            bool r9 = false || false;//假  与   假 结果:假
            //总结:一真俱真  表达 或者 的关系

            //如果玩家到了最左边 && 还想向左移动
            //                  ||
            //如果玩家到了最右边 && 还想向右移动
            //停

            bool r10 = !true;//取反

            //5.快捷运算符 += *= /= %=
            int num01 = 1;
            num01 = num01 + 5;//一个变量num01加上另外一个数,再赋值给自己时
            num01 += 5;
            Console.WriteLine(num01);

            //6.一元运算符 ++ --    二元   三元
            //根据操作数划分

            //(1)无论先加还是后加  对于[下一条指令],都是自增以后的值
            int number01 = 1;
            number01++;
            Console.WriteLine(number01);//2

            int number02 = 1;
            ++number02;
            Console.WriteLine(number02);//2

            //(2)后加--》后自增--》  先返回值
            int number03 = 1;
            Console.WriteLine(number03++);//1 结果:自增以前
            Console.WriteLine(number03);//2

            //(3)先加--》先自增--》  后返回值
            int number04 = 1;
            Console.WriteLine(++number04);//2 结果:自增以后
            Console.WriteLine(number04);//2

            //7.三元运算符   数据类型  变量名 = 条件 ? 满足条件结果 :不满足条件结果;
            string str01= 1>2?"ok":"no";
            float r11 = 1 == 1 ? 1.2f : 1.5f;

            //8.优先级  先乘除 后 加减   小括号优先级最高
            int r12 = (1 + 2) * 4;
        }
    }
}

三、数据类型转换

1、Parse转换:string转换为其他类型数据

注意:待转数据必须“像”该数据类型

string strNumber = "18";
int num01 = int.Parse(strNumber);//18
float num02 = float.Parse(strNumber);

2、ToString转换:任意类型转换为string类型

int number = 18;
string str = number.ToString();

3、隐式转换:由小范围到大范围的自动转换

byte b1 = 100;
int i1 = b1;
  • 多种类型变量参与的运算,会产生类型提升:
    – 其中一方为long类型,结果为long类型
    – 其中一方为float类型,结果为float类型
    – 其中一方为double类型,结果为double类型
    – 其中一方为decimal类型,结果为decimal类型
    – 其余运算结果为int类型
//由多种变量参与运算,结果自动像较大的类型提升
byte number01 = 1;
short number02 = 2;
//short result = (short)(number01 + number02);
int result = number01 + number02;

byte b = 1;
b += 3;//快捷运算符,不做自动类型提升
b = b + 3; //异常,需要强制转换 b = (byte)(b+3);

4、显式转换:由大范围到小范围的强制转换

注意:有可能发生精度的丢失

int i2 = 100;
byte b2 = (byte)i2;

四、小结

  • 运算符是使C#执行一个动作的符号;
  • 当两个整数相除时,C#舍弃所有余数;
  • 如果要在赋值之前使变量的值递增,使用前置运算符(++x);如果要在赋值之后使变量的值递增,则使用后置运算符(x++)。这个规则同样适用于递减运算符;
  • (++x)和(x++)只对本行赋值有影响,对下一行的结果无影响(相同);
  • 编译器执行运算操作遵循一系列的优先级规则,并且圆括号优先级最高。
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-07-27 16:34:25  更:2021-07-27 16:34:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 2:50:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码