Unity游戏制作中的C#基础(3)加减乘除算术操作符,比较运算符,逻辑与,或运算符
1. 基本算术运算符
算术运算符主要用于对数值类型(整型和浮点型)进行基本的数学运算。以下是常见的算术运算符及其说明:
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| + | 加法运算符,用于两个数相加,也可用于字符串连接 | int a = 5 + 3;string str = "Hello " + "World"; | a 的值为 8str 的值为 "Hello World" |
| - | 减法运算符,用于两个数相减 | int b = 10 - 4; | b 的值为 6 |
| * | 乘法运算符,用于两个数相乘 | int c = 2 * 6; | c 的值为 12 |
| / | 除法运算符,用于两个数相除 | int d = 10 / 3;float e = 10.0f / 3.0f; |
两个整形相除,如果结果存在小数,则小数部分会被舍弃
2. 数据类型转换规则
在进行算术运算时,如果操作数的数据类型不同,会遵循一定的类型转换规则。小数据类型与大数据类型进行运算时,结果会返回大数据类型。例如:
int num1 = 5;
float num2 = 3.5f;
float result = num1 + num2; // 结果为 float 类型
3. 自增自减运算符
自增(++)和自减(--)运算符用于将变量的值加 1 或减 1。它们有前缀和后缀两种形式:
| 运算符 | 描述 | 示例 | 说明 |
|---|---|---|---|
| ++ 前缀 | 先将变量的值加 1,再使用变量的值 | int x = 5;int y = ++x; | x 和 y 的值都为 6 |
| ++ 后缀 | 先使用变量的值,再将变量的值加 1 | int m = 5;int n = m++; | m 的值为 6,n 的值为 5 |
| -- 前缀 | 先将变量的值减 1,再使用变量的值 | int p = 5;int q = --p; | p 和 q 的值都为 4 |
| -- 后缀 | 先使用变量的值,再将变量的值减 1 | int r = 5;int s = r--; | r 的值为 4,s 的值为 5 |
二、比较运算符
比较运算符用于比较两个操作数的大小或相等性,返回一个布尔值(true 或 false)。以下是常见的比较运算符及其说明:
| > | 大于 | int a = 5; int b = 3; bool c = a > b; | c 的值为 true |
| < | 小于 | int d = 2; int e = 4; bool f = d < e; | f 的值为 true |
| >= | 大于等于 | int g = 5; int h = 5; bool i = g >= h; | i 的值为 true |
| <= | 小于等于 | int j = 3; int k = 5; bool l = j <= k; | l 的值为 true |
| != | 不等于 | int m = 5; int n = 3; bool o = m != n; | o 的值为 true |
| == | 等于,可用于比较数值和字符串是否相等 | int p = 5; int q = 5; bool r = p == q;string str1 = "Hello"; string str2 = "Hello"; bool s = str1 == str2; | r 的值为 trues 的值为 true |
三、逻辑运算符
逻辑运算符用于组合多个布尔表达式,常见的逻辑运算符有逻辑与(&&)和逻辑或(||)。
1. 逻辑与运算符(&&)
逻辑与运算符表示只有当两个操作数都为 true 时,结果才为 true,否则为 false。其运算规则如下:
| 操作数 1 | 操作数 2 | 结果 |
|---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
示例代码:
bool condition1 = true;
bool condition2 = false;
bool resultAnd = condition1 && condition2; // 结果为 false
2. 逻辑或运算符(||)
逻辑或运算符表示只要两个操作数中有一个为 true,结果就为 true,只有当两个操作数都为 false 时,结果才为 false。其运算规则如下:
| 操作数 1 | 操作数 2 | 结果 |
|---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
示例代码:
bool condition3 = true;
bool condition4 = false;
bool resultOr = condition3 || condition4; // 结果为 true
四.结语
以上就是关于 Unity 游戏制作中 C# 基础运算符的详细介绍,后续我们还会继续深入探讨 C# 在 Unity 开发中的其他重要知识。
相关文章:
Unity游戏制作中的C#基础(3)加减乘除算术操作符,比较运算符,逻辑与,或运算符
1. 基本算术运算符 算术运算符主要用于对数值类型(整型和浮点型)进行基本的数学运算。以下是常见的算术运算符及其说明: 运算符描述示例结果加法运算符,用于两个数相加,也可用于字符串连接int a 5 3; string str &…...
如何优化 Webpack 的构建速度?
优化 Webpack 的构建速度是现代前端开发中至关重要的任务。随着项目规模的扩大,构建时间可能会显著增加,影响开发效率。以下是一些实用的方法和策略,以帮助你优化 Webpack 的构建速度。 一、使用生产模式和开发模式 1. 生产模式与开发模式 …...
win10把c盘docker虚拟硬盘映射迁移到别的磁盘
c盘空间本身就比较小、如果安装了docker服务后,安装的时候没选择其他硬盘,虚拟磁盘也在c盘会占用很大的空间,像我的就三十多个G,把它迁移到其他磁盘一下子节约几十G 1、先输入下面命令查看 docker 状态 wsl -l -v 2、如果没有停止…...
conda 配置源
无论是Anaconda vs Miniconda vs Miniforge 中的哪个,只要使用conda就涉及源,换源的目的是为了加速包的获取 修改配置文件 通过修改用户目录下的 .condarc 文件来使用 不同系统下的 .condarc 目录如下: Linux: ${HOME}/.condarcmacOS: ${…...
使用nvm管理node.js版本,方便vue2,vue3开发
在Vue项目开发过程中,我们常常会遇到同时维护Vue2和Vue3项目的情况。由于不同版本的Vue对Node.js 版本的要求有所差异,这就使得Node.js 版本管理成为了一个关键问题。NVM(Node Version Manager)作为一款强大的Node.js 版本管理工具…...
Linux离线环境安装miniconda并导入依赖包
一、实现目标 在Linux离线环境中安装miniconda后,将联网环境中的依赖包导入到离线miniconda中,使得python项目在Linux离线环境中正常运行 二、前置条件 设备需要拷贝的文件联网Linux虚拟机miniconda安装包、依赖包、项目文件离线Linux虚拟机/ 三、实…...
【opencv】图像基本操作
一.计算机眼中的图像 1.1 图像读取 cv2.IMREAD_COLOR:彩色图像 cv2.IMREAD_GRAYSCCALE:灰色图像 ①导包 import cv2 # opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline ②读取图像 img cv2.imread(…...
泛微OA编写后端Rest接口
泛微OA编写后端Rest接口 前言 具体实现 运行结果 注意要点 总结 前言 在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应…...
AI助力下的PPT革命:DeepSeek 与Kimi的高效创作实践
清华大学出品《DeepSeek:从入门到精通》分享 在忙碌的职场中,制作一份高质量的PPT往往需要投入大量时间和精力,尤其是在临近截止日期时。今天,我们将探索如何借助 AI 工具 —— DeepSeek 和 Kimi —— 让 PPT 制作变得既快捷又高…...
002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡
前文地址: 001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控 文章目录 8.Feign远程调用、loadbalancer负载均衡整合1.OpenFeign整合1.引入依赖2.启动类添加EnableFeignClients注解3.yml配置4.日志配置5.远程调用测试6.服务…...
计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析
SIFT、SURF、FAST、ORB 特征提取算法深度解析 前言 在图像处理领域亦或是计算机视觉中,首先我们需要先理解几个名词: 什么是尺度不变? 在实际场景中,同一物体可能出现在不同距离(如远处的山和近处的树)…...
DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署
DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署 **DeepSeek** 是一款专注于深度学习和人工智能的工具或平台,通常与人工智能、机器学习、自动化分析等领域有关。它的主要功能可能包括:深度学习模型搜索&…...
elabradio入门第八讲——帧同步技术
一、帧同步的相关知识 数字通信中, 为了使接收到的码元能够被理解,需要知道其如何分组。一般说来,接收端需要利用帧同步码去划分接收码元序列。将标志码组开始位置的帧同步码插入于一个码组的前面,如图所示。 这里的帧同步码是一…...
站长工具SEO综合查询是什么?怎么利用站长工具SEO综合查询
你的网站是否像一辆没有仪表盘的车?明明在狂奔却不知道油耗、时速、故障灯状态?2025年SimilarWeb数据显示,83%的站长因缺乏数据化诊断工具,导致50%以上的流量白白流失。今天我们用“修车师傅”的视角,拆解SEO综合查询工…...
超简单理解KMP算法(最长公共前后缀next数组、合并主子串、子串偏移法)
KMP算法理解 最长公共前后缀next合并主子串子串偏移 参考b站:子串偏移、合并主子串 最长公共前后缀next 这个概念是一个trick,帮助我们记录遍历了一遍的数组的相似特性,想出来确实很nb,我也不理解逻辑是怎么想出来的。 字符串的…...
【每日论文】TESS 2: A Large-Scale Generalist Diffusion Language Model
下载PDF或阅读论文,请点击:LlamaFactory - huggingface daily paper - 每日论文解读 | LlamaFactory | LlamaFactory 摘要 我们推出了TESS 2,这是一种通用的指令跟随扩散语言模型,其性能优于当代的指令调整扩散模型,有…...
如何在 React 中测试高阶组件?
在 React 中测试高阶组件可以采用多种策略,以下是常见的测试方法: 1. 测试高阶组件返回的组件 高阶组件本身是一个函数,它返回一个新的组件。因此,可以通过测试这个返回的组件来间接测试高阶组件的功能。通常使用 Jest 作为测试…...
设计模式学习笔记
说了一万遍!学习要做笔记! 时间一长,就会忘了,后面再来学,又要从头学起 关键是重难点!!!当初学的时候就是因为攻克难点、寻找重点花费时间 不做笔记每次复习都要浪费时间在重难点上…...
写论文技巧 :Word文档插入图片,实现自动对齐
插入表格,调整大小 取消自动适应 插入图片,去掉边框...
VSCode - VSCode 切换自动换行
VSCode 自动换行 1、基本介绍 在 VSCode 中,启用自动换行可以让长行代码自动折行显示,避免水平滚动条频繁使用,提升代码阅读体验 如果禁用自动换行,长行代码就需要手动结合水平滚动条来阅读 2、演示 启用自动换行 禁用自动换…...
三指数平滑与网格搜索在时间序列预测中的实践
1. 时间序列预测中的三指数平滑方法解析三指数平滑(Triple Exponential Smoothing),又称Holt-Winters方法,是时间序列预测中最经典的技术之一。我在实际业务预测项目中多次使用这种方法,特别是在处理具有明显趋势和季节…...
别再手动打标了!CCPD车牌数据集的‘隐藏’信息与自动化预处理脚本分享
解锁CCPD数据集文件名密码:从零构建自动化标注流水线 当第一次打开CCPD数据集文件夹时,那些看似随机的文件名曾让我陷入困惑——直到发现这些字符串背后隐藏着完整的标注信息。本文将揭示如何将这些"加密"的字符转化为结构化标注数据ÿ…...
告别虚拟机!APK Installer:在Windows上直接运行Android应用的3种革命性方法
告别虚拟机!APK Installer:在Windows上直接运行Android应用的3种革命性方法 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想过在Wi…...
实战指南:使用WechatDecrypt工具快速解密微信聊天记录数据库
实战指南:使用WechatDecrypt工具快速解密微信聊天记录数据库 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 微信聊天记录作为个人数字资产的重要组成部分,常常因为加密存储而难以…...
ARM CoreLink NIC-400配置避坑指南:用AMBA Designer搞定AXI/AHB互连拓扑
ARM CoreLink NIC-400配置实战:用AMBA Designer构建高效AXI/AHB互连拓扑 当你在SoC设计中第一次打开AMBA Designer工具面对NIC-400的海量配置选项时,是否感到无从下手?作为ARM第四代互连IP,NIC-400的灵活性既是其最大优势…...
Pandas数据处理实战:从基础到高级技巧
1. 从零开始掌握Pandas数据处理作为一名长期使用Python处理数据的开发者,我深刻体会到Pandas在数据操作中的核心地位。这个强大的库不仅能高效处理结构化数据,更能让复杂的数据操作变得直观简单。今天我将通过一个真实的环境污染数据集,带你系…...
VSCode车载适配生死线:CANoe/CANalyzer协同调试失效的3个隐藏配置错误(附Wireshark级通信日志注入方案)
更多请点击: https://intelliparadigm.com 第一章:VSCode车载适配生死线:CANoe/CANalyzer协同调试失效的3个隐藏配置错误(附Wireshark级通信日志注入方案) 当 VSCode 作为车载嵌入式开发主力编辑器接入 CANoe/CANalyz…...
从YUV序列到码流分析:一次完整的H.266/VVC编码实验与问题排查实录
从YUV序列到码流分析:一次完整的H.266/VVC编码实验与问题排查实录 在视频编码技术快速迭代的今天,H.266/VVC作为新一代标准,其压缩效率相比前代提升显著,但随之而来的复杂度也令许多开发者望而生畏。本文将带您深入实战࿰…...
如何让微信聊天记录成为你的永久数字记忆?WeChatMsg完全指南
如何让微信聊天记录成为你的永久数字记忆?WeChatMsg完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...
m4s-converter终极指南:3分钟解锁B站缓存视频,实现格式自由!
m4s-converter终极指南:3分钟解锁B站缓存视频,实现格式自由! 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter …...
