天轰穿C#教程之数学运算符
有5个简单的数学运算符,其中2个有二元和一元两种形式.下表列出了这些运算符,并用一个示例来说明它们的用法,以及使用简单的数值类型(整数和浮点数)时它们的结果
运算符 类别 示例表达式 结 果
+ 二元 var1 = var2 + var3; var1的值是var2与var3的和
- 二元 var1 = var2-var3; var1的值是从var2减去var3所得的值
* 二元 var1 = var2 * var3; var1的值是var2与var3的乘积
/ 二元 var1 = var2 / var3; var1是var2除以var3所得的值
% 二元 var1 = var2 % var3; var1是var2除以var3所得的余数
+ 一元 var1 = +var2; var1的值等于var2的值
- 一元 var1 =-var2; var1的值等于var2的值除乘以-1
小提示: +(一元)运算符有点古怪,因为它对结果没有影响。它不会把值变成正的:如果var2是-1,则+var2仍是-1。但是,这是一个普遍认可的运算符,所以也把它包含进来。这个运算符最有用的方面是,可以定制它的操作,本书在后面探讨运算符的重载时会介绍它。
小天:上面的示例都假设var使用简单的数值类型,这些类型在前面的示例中都练习N次了,所以不用给示例也比较清楚了。不过我想如果把两个布尔值加在一起,会得到什么结果?
老田:如果对bool变量使用+(或其它数学运算符),编译器会报告出错。另外char变量的相加会有点让人摸不着头脑。因为,char变量实际上存储的是数字,所以把两个char变量加在一起也会得到一个数字(其类型为int)。这是一个隐式转换的示例。
二元运算符+在用于字符串类型变量时也是有意义的。如下所示。
运算符 类 别 示例表达式 结 果
+ 二元 ar1 = var2 + var3; var1的值是存储在var2和var3中的字符串的连接值
其实,字符串相加之前的示例也有做到,不过不多,下面再看两种形式的。
string str1 = "如果自卑对人生没有帮助,";
string str2 = "那就试试自信吧!";
string str3,str4;
//第一种是两个字符串变量相加
str3 = str1 + str2;
//第二种是一个字符串变量和一个字符串相加,双引号中间的被认为是字符串
str4 = str3 + "自信的第一步,就是从潜意识鼓励自己、认同自己。";
Console.WriteLine(str3);
Console.WriteLine(str4);
Console.Read();
小天:郁闷,除了+号有用外,其它数学运算符不能用于字符串的处理,害我浪费时间做了半天举一反三的练习。
老田:你这话不对,最起码在你举一反三的练习过程中知道了其它的数学运算符不能用于字符串处理,另外,你敲代码的速度也更快了。
接下来介绍另外两个运算符:递增和递减运算符,它们都是一元运算符,可以以两种方式使用:放在操作数的前面或后面。简单表达式的结果如下表所示。
运算符 类 别 示例表达式 结 果
++ 一元 var1 = ++var2; var1的值是var2 + 1,var2递增1
++ 一元 var1 = var2++; var1的值是var2,var2递增1
-- 一元 var1=--var2; var1的值是var2 -- 1,var2 递减1
-- 一元 var1 = var2-- ; var1的值是var2,var2 递减1
这些运算符改变存储在操作数中的值。
● ++总是使操作数加1
● -- 总是使操作数减1
var1中存储的结果有区别,其原因是运算符的位置决定了它什么时候发挥作用。把运算符放在操作数的前面,则操作数是在进行任何其它计算前受到运算符的影响,而把运算符放在操作数的后面,则操作数是在完成表达式的计算后受到运算符的影响。
这有益于另一个示例,考虑下面的代码:
int var1, var2, var3, var4, var5 = 5, var6 = 5, var7 = 5, var8 = 5;
var1 = ++var5;
var2 = var6++;
var3 = --var7;
var4 = var8--;
Console.WriteLine("var1={0},var2={1},var3={2},var4={3}"
, var1, var2, var3, var4);
//综合实例,想下为什么等于这个结果
int v1=2, v2=3, v3;
v3 = v1++ * --v2;
Console.WriteLine("v3={0}",v3);
上面两个例题的执行结果如图2-26
图2-26
小天:多新鲜啊,最后的值等于4,这是因为v1后面的++是要在当前表达式之后才生效,那么换句话说,在这个表达式中v1后面的++其实是可以忽略的。而v2前面的--则是在当前表达式中会生效的,所以效果是v1=2,v2=3-1,还是等于2,于是最终是v1的2乘以v2的2,于是当然等于4了。
这类表达式有许多用途,特别适合于在循环中使用,这将在后面的流程控制章节讲解。
本文为天轰穿原著,转载请注明出处及作者!
天轰穿C#教程之数学运算符相关推荐
- [转载] Numpy 使用教程--Numpy 数学函数及代数运算
参考链接: Python中的numpy.logaddexp Numpy 使用教程–Numpy 数学函数及代数运算 一.实验介绍 1.1 实验内容 如果你使用 Python 语言进行科学计算,那么一定会 ...
- [分享]天轰穿VS2005视频教程
谈到学习,虽然有很多很多人有自己一套的自学方法. 但有时候,有个好的老师来教,一个好的拍档一同促进也是十分重要的. 就在一个星期前我偶然在Google上点入了天轰穿的blog 发现里面的VS2005视 ...
- C++ 重载数学运算符
四则运算符(+.-../.+=.-=.=./=)和关系运算符(>.<.<=.>=.==.!=)都是数学运算符,它们在实际开发中非常常见,被重载的几率也很高,并且有着相似的重载格 ...
- HTML中如何引用数学运算符?
数学运算符用于表示数学和算数操作符,那么如何在HTML中引用数学运算符?下面本篇文章就来给大家介绍一下,希望对大家有所帮助. 在 HTML 中,数学运算符是预留的.如果希望正确地显示预留字符,我们必须 ...
- 数学运算符“异或”的妙用
异或的妙用 异或的介绍 异或的作用 异或的巧用 问题及代码实现 运行结果 结束语 异或的介绍 异或,英文为exclusive OR,缩写成xor. 异或(xor)是一个数学运算符.它应用于逻辑运算.异 ...
- 数学运算符和运算符的优先级
一.数学运算符和运算符的优先级 所谓数学函数,顾名思义就是在公式中为了进行数学运算所设计出来的函数.其实要在Excel中进行数学运算并不是所有的情况下都用数学函数,有些情况下可以用基本的数学运算符就可 ...
- java 三点_[Java教程]三点运算符使用方法
[Java教程]三点运算符使用方法 0 2017-10-13 03:01:05 先看一个es6规范下三点运算符的使用实例:let fun=function(a,...list){ console.lo ...
- 数学运算符 +(加)、-(减)、(乘)、(除)、%(取余;取模)、(整除)、(幂运算)及分支结构
数学运算符: +(加).-(减).*(乘)./(除).%(取余;取模).//(整除).**(幂运算) 1. +.-.*./ python的加减乘除和小学数学中的加减乘除的功能一样 print(3 + ...
- 学习笔记(12):C#急速入门-数学运算符(加减乘除余)
立即学习:https://edu.csdn.net/course/play/20589/257724?utm_source=blogtoedu 数学运算符 加:+ 减:- 乘:* 除:/ //如果两个 ...
- MATLAB数学计算与工程分析范例教程,MATLAB数学计算与工程分析范例教程
基本信息 书名:MATLAB数学计算与工程分析范例教程 定价:28.00元 作者:石博强,赵金 编著 出版社:中国铁道出版社 出版日期:2005-05-01 ISBN:9787#113057596 字 ...
最新文章
- javascript加载顺序问题(二)
- sim插拔识别时间_特斯拉+树莓派实现车牌识别检测系统
- mysql galera 下载_Mysql-Galera Cluster
- 2017.4.21 2^k进制数 思考记录
- PHPStorm 调式JS /同时调式PHP和jS
- 企业海量数据搜索服务器架构图
- 用电机进行简单的PID参数整定
- Google Analytics与百度统计比较
- NutUI-Bingo 的使用
- 关于新手学习seo入门的指南建议
- Codeforces Round #828B CF1744B Even-Odd Increments
- 生活片段(1)-短暂的深圳实习时光
- Ae:3D 变换小工具与轴模式
- 指针--指针的创建和指针的大小
- Android音乐播放器的设计与实现
- bzoj 2876: [Noi2012]骑行川藏 拉格朗日数乘
- 【人工智能】人类大脑中的神经元群体是如何相互作用,进而产生感知和行为的?
- SRS_Audio_Sandbox注册码破解版+注册机+中文
- 刚子扯谈:源于Chanel的图片描述
- 前端工程师的摸鱼日常(14)