常用运算符和表达式

   运算符在程序中应用广泛,尤其在计算功能中,常常需要大量的运算符。运算符结合操作数,便形成了表达式,并返回运算结果。

   一. 运算符

       1.算术运算符

          算术运算符用于对数值数据进行计算。

             在C#语言中,根据两个操作数的类型特点,加法运算符具有多重作用。

               * 两个操作数均为数字,相加的结果为两个操作数之和。

               * 两个操作数均为字符串,把两个字符串连接在一起。

               * 两个操作数分别为数字和字符串,则先把数字转换成字符串,然后连接在一起。

               * 两个操作数分别为数字和字符,则先把字符转换成Unicode代码值,然后求和。

              算数运算符中的求模运算(%)本质上也是一种除法运算,只不过它舍弃商,而把小于除数的未除尽部分(即余数)作为运算结果,有称为取与运算

      2.关系运算符

         关系运算符又称为比较运算符,用来比较两个操作数的大小,或者判断两个操作数是否相等,运算符的结果为true或false。

            操作数只能是值类型的数据。

       3.逻辑运算符

          逻辑运算符读操作数或表达式执行布尔逻辑运算,常见的逻辑运算符如下表所示:

   运算符           !       &       |        ^            &&            ||
    含义       逻辑非     逻辑与   逻辑或     逻辑异或         条件与         条件或
    实例     !(8>2)       8&2     8|2       8^2   (8>2)&&(3>4)    (8>2)||(3>4)
    结果        False        0      10        10          False           True

       逻辑非(!)运算结果是操作数原有逻辑的反值,逻辑与(&),逻辑或(|),逻辑异或(^)三个运算符都是比较两个整数的相应位。只有当两个整数的对应位都是1时,逻辑与(&)运算符才返回结果1,否则返回结果0;当两个结果整数的对应位都是0时,逻辑或(|)运算符才返回结果0,否则返回结果1;当两个整数的对应位一个是1,而另一个是0时,逻辑异或(^)运算符才返回结果1,否则返回结果0;

       条件与(&&)与条件或(||)运算符用于计算两个条件表达式的值,当两个条件表达式的结果都是真时,条件与(&&)运算符才返回结果真,否则返回结果假;当两个条件表达式的结果都是假时,条件或(||)运算符才返回结果假,否则返回结果真。

     4.赋值运算符

        赋值运算符的作用是把某个常量或变量或表达式的值赋值给另一个变量。除了简单的赋值运算符(=)外,常见的符合运算符如表所示:

 

    运算符      +=    -=     *=     /=     %=
     含义    加法赋值   减法赋值   乘法赋值  除法赋值   取模赋值
     示例    8+=2    8-=2    8*=2    8/=2    8%=2
     结果      10       6     16      4       0

         从上面的示例可以看出,复合赋值运算符实际上是特殊赋值运算符的一种缩写形式,目的是使对变量的改变更简洁。

      5.其他特殊运算符

         C#还有一些特殊的运算符,不能简单的归为某个类型

         (1)is运算符

                 is运算符用于检查变量是否为指定的类型如果是,返回真,否则返回假。 例如下面的示例:就返回True                         

            bool b = 8 is int;

             (2)as运算符

                     as运算符用于在相互兼容的引用类型之间执行转换操作,如果无法进行转换则返回null值,例如:

           object temp1 = “a stringas object;

            (3)条件运算符

                     条件运算符(?:)根据条件表达式的取值返回两个可选值中的一个:如果条件的取值为true,则返回第一个可选值,如果条件取值为False,则返回第2个可选值。例如,下面的语句返回true。

           bool b = (3<5)?true:false;

 

            (4)new运算符

 

                new运算符用于创建一个新的类型实例,包括创建值类型,类类型,数值类型,和委托类型的实例。例如下面的语句用来创建一个数组类型的实例。             

          int [] a = new int [5];

              (5)typeof运算符

                     typeof运算符用于返回特定类型的System.Type对象,并可通过Type对象访问基类及本类的一些信息。例如,下面的语句将返回System.int32,表明int值类型的Syste.Type对象是System.int32.     

          System.Type t = typeof(int);

 

             (6)运算符的优先级

                当表达式中包含一个以上的运算符时,程序会根据运算符的优先级进行运算,优先级高的运算符会比优先级低的运算符先被执行。

                                                                                                 常见的运算符的优先级(由高到低)

             分类运算符
             特殊new,typeof
             一元+(正),-(负),!,++,--
            乘除*,/,%
            加减+,-
            关系>.<,>=,<=,is,as
            关系==, !=
           逻辑与&
         逻辑异或^
           逻辑或|
           条件与&&
           条件或||
            条件?:
            赋值+=,-=,*=,/=,&=

   二. 表达式

        表达式有操作数(变量,常量,函数),运算符和括号()按一定规则组成。表达式通过运算产生结果,运算结果,运算结果的类型由操作数和运算符共同决定。表达式即可以跟简单,也可以非常复杂。例如:

 

          int i =127
int j =36;
Console.WriteLine(Math.Sin(i*i+j*j));

 

         上述代码中,表达式i*i+j*j作为Math.Sin()方法的方法的参数使用,而表达式Math.Sin(i*i+j*j)还是Console.WriteLine()方法的参数。

 

转载于:https://www.cnblogs.com/ljknlb/p/7856150.html

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

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

相关文章

python爬取淘宝数据魔方_淘宝数据魔方技术架构解析

淘宝网拥有国内最具商业价值的海量数据。截至当前&#xff0c;每天有超过30亿的店铺、商品浏览记录&#xff0c;10亿在线商品数&#xff0c;上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值&#xff0c;进而帮助淘宝、商家进行企业的数据化运营&#xff0…

opencv 处理黑夜_1.1 OpenCV+Python引言篇(一)

OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库。无论你是做科学研究&#xff0c;还是商业应用&#xff0c;OpenCV都可以作为你理想的工具库&#xff0c;因为&#xff0c;对于这两者&#xff0c;它完全是免费的。该库采用C及C语言编写&#xff0c;可以在windows, l…

python字典导入mongodb_python连接mongoDB进行数据提取→常用操作指南

1. 连接mongo需要知道mongoDB的地址、端口、授权用户、授权密码。一般情况下&#xff0c;技术都会给到数据分析人员这些信息。python没有安装模块pymongo模块的&#xff0c;在cmd里面&#xff0c;pip install pymongo 进行安装。(具体操作可以自行百度)##导入连接mongo需要的模…

解决C语言程序报错:return type defaults to‘int’

下面是通过自定义一个函数printN&#xff0c;之后在main函数中调用printN&#xff0c;使得可以通过输入整数N&#xff0c;将从1到N的全部整数都打印出来的程序。 但是在编译过程中却报错&#xff1a; return type defaults to ‘int’ 产生报错的原因&#xff1a; printN的默认…

cif是目的港交货吗_刚接手出口业务,搞不懂FOB? CIF? 为你科普→

Export专用名词辨析01 名词辨析#FOBFOB(Free On Board)&#xff0c;含义是装运港船上交货&#xff0c;指卖方在合同规定的装运港负责将货物装上买方指定的船上&#xff0c;并负责货物装船之前的一切费用和风险&#xff0c;以及办理出口通关的相关事宜及费用&#xff0c;所以在实…

python字符串的表示形式_python - 如何为类对象创建自定义字符串表示形式?_class_酷徒编程知识库...

当前python 3的更新如下&#xff1a;class MC(type):def __repr__(self):return Wahaha!class C(object, metaclassMC):passprint(C)如果希望跨python 2和python 3运行的代码&#xff0c;则six模块将包含以下内容&#xff1a;from __future__ import print_functionfrom six im…

MyBatis核心接口和类

三大对象&#xff1a; 1、SqlSessionFactoryBuilder&#xff1a;负责构建SqlSessionFactory&#xff0c;并且提供了多个build()方法的重载 2、SqlSessionFactory&#xff1a;创建SqlSession实例的工厂 3、SqlSession&#xff1a;用于执行持久化操作的对象 三大对象获取的步骤&a…

中的数组怎么转成结构体_传说中的“衡水体”应该怎么练?

传说中的“衡水体”应该怎么练&#xff1f;我也不知道&#xff0c;哈哈哈哈哈哈。因为我之前关于衡水体的回答最高赞评论说我这个不是衡水体……随便写的之前的回答所以&#xff0c;这篇文章纯属交流分享&#xff0c;同时枯燥无味&#xff0c;可能适合觉得自己书写不好看的高中…

windows 显示苹果分区_基准测试数据显示苹果M1运行Windows的表现比微软自家硬件好上近一倍...

根据最新的基准测试&#xff0c;苹果M1运行 "Windows 10 on ARM "的速度比微软自家的硬件快了近2倍。更新后的基准数据显示&#xff0c;苹果M1上的Windows 10比Surface Pro X快得多&#xff0c;这还是配备了基于骁龙8cx的处理器的Surface Pro X原生运行该操作系统的环…

centos7默认字体_CentOS7.5字体美化

背景知识有衬线 (Serif) 无衬线 (Sans Serif) 和等宽 (Monospace) 字型1 有衬线 (Serif) 字型是比较正式的字体&#xff0c;比划粗细不一&#xff0c;在笔划的边缘有装饰部分(我的理解是有笔锋)。英文当中比较有名的包括 Times New Roman, Georgia, 而中文当中则是包括大名鼎鼎…

翻译:通向T-SQL的阶梯:超越基础水平3:建立相关子查询

原文链接&#xff1a;http://www.sqlservercentral.com/articles/StairwaySeries/105972/ 原文作者&#xff1a;Gregory Larsen 该系列 本文是楼梯系列的一部分:通向T-SQL的阶梯:超越基础水平 从他的t - sql DML楼梯后,格雷戈里拉森涵盖了更高级的子查询等方面的t - sql语言。…

筛选中很容易粘贴到被隐藏部分_excel复制粘贴:如何将数据粘贴到筛选区域中?...

编按&#xff1a;哈喽&#xff0c;大家好&#xff01;看到标题相信大家都会纳闷吧。复制粘贴不是excel中最简单&#xff0c;最基础的操作吗&#xff1f;怎么可能90%的人都不会呢&#xff1f;今天咱们要说的可不是普通的复制粘贴&#xff0c;而是将数据复制粘贴到筛选后的区域中…

python 发邮件_Python发邮件告别smtplib,迎接zmail

之前介绍过smtplib发邮件代码&#xff0c;直到今天仍有人在这里遇到问题。而且代码复杂&#xff0c;解释起来很麻烦&#xff0c;今天给大家介绍一个新的发邮件方法——zmailzmail的优势自动填充头信息将一个字典映射为email&#xff0c;构造邮件相当于构造字典自动寻找邮件服务…

重复数据_MongoDB 自动过滤重复数据

摘要&#xff1a;使用 update_one() 方法而不是 insert_one() 插入数据。相信你一定有过这样的经历&#xff1a;大晚上好不容易写好一个爬虫&#xff0c;添加了种种可能出现的异常处理&#xff0c;测试了很多遍都没有问题&#xff0c;点击了 RUN 开始正式运行 &#xff0c;然后…

多个canvas画布合并_canvas的基础入门

nvas是定义在浏览器上的画布。它不仅仅是一个标签元素更是一个编程工具是一套编程的接口。利用它可以开发出很多东西&#xff0c;比如动画&#xff0c;游戏&#xff0c;动态的图表等富有变现力和感染力的应用。还可以开发出绚丽的3D动态效果。接下来我们一起学习&#xff01;一…

AngularJS 计时器

<div ng-controller"MyController"><!--显示$scope.clock的now属性--><h1>hello {{clock.now}}</h1><!--显示$scope.clock&#xff0c;里面有一个属性now--><h1>hello {{clock}}</h1> </div><script src"ht…

Rulo扫地机器人app_扫地机器人怎么选?扫地机器人怎么用

扫地机器人又称自动打扫机、智能吸尘、机器人吸尘器等&#xff0c;是智能家用电器的一种&#xff0c;能凭借一定的人工智能&#xff0c;自动在房间内完成地板清理工作。一般采用刷扫和真空方式&#xff0c;将地面杂物先吸纳进入自身的垃圾收纳盒&#xff0c;从而完成地面清理的…

python七巧板三角形_用七巧板拼出14种三角形,这才是图形认知的神器!

原标题&#xff1a;用七巧板拼出14种三角形&#xff0c;这才是图形认知的神器&#xff01;随着幼升小越来越注重孩子的图形认知能力&#xff0c;很多名校幼升小都选择了七巧板作为考验孩子的题目&#xff01;比如北京实验二小09年的幼升小考题中&#xff0c;就有一道“用七巧板…

Docker 容器的常用命令

容器常用的管理命令1. 创建并启动容器 docker rundocker run 创建并启动一个容器&#xff0c;在run后面加上-d参数&#xff0c;则会创建一个守护式容器在后台运行。注&#xff1a; docker run将在下一章节中具体描述2. 查看docker ps -a 查看已经创建的容器3. 停止 docke…

如何在graphpad表示出正负误差_Graphpad Prism:SCI科研论文中误差连线图怎么做

这是一篇高分SCI论文中的图&#xff0c;图中间为均值、均值上下方的浅色为数据误差&#xff0c;即误差连线图。今天跟大家分享如何使用GraphpadPrism作这么好看的图!打开软件&#xff0c;选择XY&#xff0c;按照下图新建折线图&#xff1a;输入数据&#xff1a;得到下图所示折线…