C#语法知识之运算符

3、运算符

在这里插入图片描述

1、算数运算符

1、赋值符号

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

2、算数运算符

+
_
*
/	float f = 1 / 2f;
%

3、算数运算符的优先级

//乘除余优先级高于加减
括号可以改变优先级,优先计算括号内的内容

4、算数运算符的复合运算

复合运算符是用于自己 = 自己进行运算
+=	int i = 1; i += 1;  // i = i+1 ;
-=
*=
/=
%=

5、算数运算符的自增减

//自增运算符	++
int i =1; 
i++;	//先用再加	Console.WriteLine(i++);	//1
++i;	//先加再用	Console.WriteLien(++i);	//3
//自减运算符 --
思考

​ 将987654秒转化为n天n小时n分钟n秒?

 //一天对应的秒数 = 24小时 * 60分钟 *60秒int oneDayS = 24*60*60;
//一小时对应秒数 = 60分钟 * 60秒int oneHourS = 60*60;
//一分钟对应的秒数 = 60秒int oneMinS = 60;int second = 987654;
//天数 用总的秒数 / 一天所用秒数int day = second / oneDayS;
//小时数 用不足一天的秒 / 一小时对应的秒数int hour = second % oneDayS /oneHourS;
//分钟数 用不足一小时的秒 / 一分钟对应的秒数int minute = second % oneHourS / oneMinS;int sec = second % oneMinS;Console.Write(day+"天"+hour+"小时"+minute+"分钟"+sec+"秒");

2、字符串拼接

1、字符串拼接方式1	//通过+进行拼接,也可以复合运算+=string str = "1"; str = str + "1";  //11str += "2" + true;     //112truestr += 1+2+3+4;		//112true10str += 1+2 +""+3+4;	//112true10334
2、字符串拼接方式2	//string.Format("{内容1,...}",内容1,...);string str = string.Format("{0},{1},{2}","",22,true);非字符串格式会自动调用ToString方法进行占位符的拼接
3、控制台打印拼接	WriteLien会自动调用Format方法Console.WriteLine("{0},{1},{2}","",22,true)

3、条件运算符

1、条件运算符概念

//比较两个变量或常量,比较结果返回bool类型的值>	//是否大于int a = 5; int b = 20;	bool result = a>b;<	//是否小于==	//是否等于!=	//是否不等于>=	//是否大于等于<=	//是否小于等于

2、各种写法

左边 条件运算符 右边
//变量之间的比较
//变量和常量比较int a = 3; bool result = a < 5;
//计算结果比较条件运算符优先级低于算数运算符(先计算,再比较)int a = 2; bool result = a+3 > 5-a;

3、不能进行范围比较

​ 1< a <6 C#不能这样写(需要逻辑运算符)

4、不同类型之间的比较

//不同数值类型之间,可以随意进行条件运算符比较int i = 5; float f = 2.2f; bool result = i < f;
//特殊类型char string bool 只能相同类型进行 == 和 != 比较string str = "a"; bool result = str == "a";

4、逻辑运算符

​ 对bool类型进行的逻辑运算

1、逻辑与

&&	对两个bool值进行逻辑运算(青睐false,比较苛刻)//有假则假,同真为真bool result = true && false;int i =3; bool result = i > 1 && i < 5;	//1<i<5;

2、逻辑或

||	对两个bool值进行逻辑运算(青睐true,比较大方)//有真则真,同假为假

3、逻辑非

! 对一个bool值进行取反,优先级较高

4、混合使用优先级问题

! > && > ||

5、逻辑运算符的断路规则

//只要逻辑与&&、逻辑或||左边满足(false、true)条件,右边作废int i = 1;bool result = i < 0 && ++i >=0;

5、位运算符

​ 主要用于数值类型进行计算(将数值转换为二进制,再进行位运算),游戏中可以通过位运算表示buff和状态的添加或者移除

1、位与 &

//连接两个数值进行位运算,将数值转为二进制
对位运算:有00int a = 1,b = 5; int c = a & b;

2、位或 |

//连接两个数值进行位运算,将数值转为二进制
对位运算:有11

3、异或 ^

//连接两个数值进行位运算,将数值转为二进制(异或可以做加密方式)
对位运算:相同为0,不同为1

4、位取反 ~

//写在数值前面,将数值转为二进制
对位运算:0110int a = 5 ; int b = ~a; //-6
int类型5的二进制:0000 0000 0000 0000 0000 0000 0000 0101取反后为负数二进制,反码补码得到-6

5、左移 << 和 右移 >>

//让一个数的二进制进行左移和右移
左移几位,右侧加几个0int a =5; int b = a << 1;
右移几位,右侧删几位

6、三目运算符

//bool类型 ? bool类型为真返回内容 : bool类型为假返回内容;
string	str = true ? "条件为真" : "条件为假";
思考

​ 如何判断闰年?(闰年年份能被400整除或者能被4整除,但不能被100整除)

int year = 2024;
string result = year %400 ==0 || year%4 == 0 && year%100 != 0 ? "闰年" : "平年";

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/824786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-04-17 学习笔记(李宏毅AI基础课,图像预处理)

1.Hung-yi Lee 摘要&#xff1a;这篇文章介绍了李宏毅教授的课程内容和作业安排&#xff0c;涵盖了深度学习的理论、优化、泛化、特殊网络结构、特殊训练技术、生成对抗网络(GAN)以及深度强化学习等主题。 Raiden说&#xff1a;基础知识&#xff0c;常学常新 2.软包装锂离子电…

源码解读——SplitFed: When Federated Learning Meets Split Learning

源码地址 1. 源码概述 源码里一共包含了5个py文件 单机模型&#xff08;Normal_ResNet_HAM10000.py&#xff09;联邦模型&#xff08;FL_ResNet_HAM10000.py&#xff09;本地模拟的SFLV1&#xff08;SFLV1_ResNet_HAM10000.py&#xff09;网络socket下的SFLV2&#xff08;SF…

51单片机入门_江协科技_33~34_OB记录的自学笔记_LED呼吸灯与PWM直流马达调速

33. 直流电机驱动(PWM) 33.1. 直流电机介绍 •直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极&#xff0c;当电极正接时&#xff0c;电机正转&#xff0c;当电极反接时&#xff0c;电机反转 •直流电机主要由永磁体&#xff08;定子&#xff09;、线圈&…

笔记本触摸板的使用

使用电脑很多面年了&#xff0c;但很少使用触摸板&#xff0c;最近公司配置了台新笔记本触摸板很丝滑&#xff0c;像着改变一下多年使用电脑的习惯&#xff0c;做个笔记&#xff0c;使用它&#xff0c;适应它&#xff01; 单手指&#xff1a; 单击→左键 两次单击→打开文件夹&…

MySQL 死锁案例解析一则

原文链接&#xff1a;https://www.modb.pro/db/448666 一、问题背景某业务模块反馈数据库最近出现过几次死锁告警的情况&#xff0c;本文总结了这次死锁排查的全过程&#xff0c;并分析了导致死锁的原因及解决方案。希望给大家提供一个死锁的排查及解决思路。基础环境&#xff…

绩效考核管理:激发潜力,实现双赢

绩效考核管理是现代企业管理中不可或缺的一环&#xff0c;它不仅关乎员工的个人发展&#xff0c;更影响着企业的整体战略目标实现。本文将从绩效考核管理的意义、目标设定、考核方法、激励措施以及持续改进等方面展开论述&#xff0c;探讨如何通过有效的绩效考核管理激发员工潜…

Win10系统WSL2烧录SD卡(USB储存设备)

众做周知在嵌入式开发中经常需要制作SD卡系统来启动开发板&#xff0c;最近从虚拟机转到WSL发现不能像以前那样对SD卡进行操作了&#xff0c;记录下解决方法&#xff08;我的系统环境是Win10WSL2&#xff09; 编译WSL2内核 由于WSL2的内核默认没有添加USB存储设备的驱动的支持…

一.NODE MCU(ESP8285,ESP8286)开发环境搭建

一.序言: 1.esp8285长什么样? 2.esp8285是什么,能做什么? 通过上面图片,看到上面的芯片,是带有多个阵脚的单片机。实际上,看着该芯片很小,但是却具有完整的wifi无线蓝牙功能,它本身可以运行一个极简的linux小系统,并且该极简的小linux系统具备无线蓝牙功能。。它同…

Linux: 性能: sysctl vs echo vs直接使用fopen

简介 在实际的生产中&#xff0c;需要对系统参数做修改&#xff0c;有三种方式可以实现&#xff0c;一个是sysctl命令来修改&#xff0c;一个是使用echo 命令来写入&#xff0c;另一个是使用fopen/write接口函数来操作配置文件。 这个对比也是相当的明显&#xff0c;echo要比s…

54岁前港姐与好友因一事反目成仇,20年后方破冰

现年54岁的前「金牌司仪」陈淽菁&#xff08;前名&#xff1a;陈芷菁&#xff09;是1994年落选港姐&#xff0c;之后加入TVB参演电视剧《天地男儿》、《壹号皇庭》入屋&#xff0c;后因口齿伶俐而转战主持界。2017年陈淽菁离巢&#xff0c;外出以个人名义成立「陈芷菁工作室」&…

每日学习笔记:C++ STL算法之容器元素转换、结合、互换

本文API 转换元素 transform(sourceBeg,sourceEnd,destBeg, op) 结合元素 transform(source1Beg,source1End,source2Beg,destBeg, op) 互换元素 swap_ranges(sourceBeg,sourceEnd,destBeg) 转换元素 结合元素 互换元素

聚焦ChatGPT:让论文写作更高效更精准

ChatGPT无限次数:点击直达 html 聚焦ChatGPT&#xff1a;让论文写作更高效更精准 引言 在当今信息爆炸的时代&#xff0c;撰写高质量论文变得越发重要。然而&#xff0c;许多研究者和学者在论文写作过程中常常遇到困难&#xff0c;例如构思内容、整合观点和确保表达准确。…

什么是Cookies?请求Cookies和响应 Cookies的关系

一、什么是cookies 在早期的网络发展中&#xff0c;如何管理状态一直是一个棘手的问题。由于HTTP协议的无状态特性&#xff0c;服务器无法判断连续的两个请求是否来自同一个浏览器。为了解决这个问题&#xff0c;最初的方案是在请求时将一些参数嵌入到页面中&#xff0c;并在…

深度学习驱动的流体力学计算与应用

在深度学习与流体力学深度融合的背景下&#xff0c;科研边界不断拓展&#xff0c;创新成果层出不穷。从物理模型融合到复杂流动模拟&#xff0c;从数据驱动研究到流场智能分析&#xff0c;深度学习正以前所未有的力量重塑流体力学领域。近期在Nature和Science杂志上发表的深度学…

ARM_day8:温湿度数据采集应用

1、IIC通信过程 主机发送起始信号、主机发送8位(7位从机地址1位传送方向(0W&#xff0c;1R))、从机应答、发数据、应答、数据传输完&#xff0c;主机发送停止信号 2、起始信号和终止信号 SCL时钟线&#xff0c;SDA数据线 SCL高电平&#xff0c;SDA由高到低——起始信号 SC…

继承的初步

完成两个类&#xff0c;一个类Animal&#xff0c;表示动物类&#xff0c;有一个成员表示年龄。一个类Dog&#xff0c;继承自Animal&#xff0c;有一个新的数据成员表示颜色&#xff0c;合理设计这两个类&#xff0c;使得测试程序可以运行并得到正确的结果。 函数接口定义&…

我为什么选择做程序员

我选择做程序员的原因有多个方面。首先&#xff0c;我对计算机科学和技术有着浓厚的兴趣。从小我就对计算机的工作原理和软件开发充满好奇&#xff0c;喜欢探索新技术和解决问题。这种兴趣促使我深入学习和研究计算机领域的知识&#xff0c;最终选择了程序员这一职业。 其次&a…

php正则表达式压缩与格式化html,css,js

注意事项 只支持压缩含一个<script></script>的html,且变量内多个空格也会被压缩为一个 格式化html单标签需要添加/结束 压缩html 去除<!-- -->内的全部内容 多个空白符变为一个空格 去除> <内的空白符 压缩css 去除/* */内的全部内容 多个空白符变为一…

汽车零部件制造迎来智能化升级,3D视觉定位系统助力无人化生产线建设

随着新能源汽车市场的蓬勃发展&#xff0c;汽车零部件制造行业正面临着前所未有的机遇与挑战。为了提高产能和产品加工精度&#xff0c;某专业铝合金汽车零部件制造商决定引进智能生产线&#xff0c;其中&#xff0c;对成垛摆放的变速箱壳体进行机床上料成为关键一环。 传统的上…

小程序如何引入自定义组件

要在小程序中引入自定义组件&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. 创建自定义组件&#xff1a;首先在小程序项目中创建一个自定义组件。在项目目录下的components文件夹中创建一个新的文件夹&#xff0c;用于存放自定义组件相关的文件。通常&#xff0c;一个…