本节书摘来华章计算机《交互式程序设计 第2版》一书中的第2章 ,第2.3.4节,joshua noble 著 毛顺兵 张婷婷 陈宇 沈鑫 任灿江 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
在程序中,运算符就是编译器用来执行命令和运算的符号,例如“=”用来赋值,“==”用来比较等。运算符有三类:一是数学运算符,用于数学运算,就跟数学课上学到的一样;二是赋值运算符,用来改变变量的值;三是比较运算符,比较两个变量是否相等,谁大谁小。
数学运算符的用法就跟一般数学式子里的一样。用“+”可以把两个变量相加,例如:
但若是把两组字符串相加就有所不同了,结果是两组字符串接在一起:
这样的结果是由所谓“运算符重载”造成的。这个话题有点高级,这本书里不作介绍,有兴趣的读者可以参考第17章列出的编程书目或是上网查阅。
其他简单的数学运算符有“-”(减)、“*”(乘)和“/”(除),还有“%”(取模)。
取模就是左边的数除以右边的数所得的余数。下面是一些例子:
赋值运算符从右侧开始起作用,也就是说,运算符把右侧变量的值赋给左侧变量,例如:
“=”把左边变量的值设为6。跟“=”类似,以下运算符也用来设置左侧变量的值。
+=
把右侧的值加到左侧变量的原值上再赋给左侧变量:
-=
把右侧的值从左侧变量的原值减掉再赋给左侧变量:
++和--
把左侧变量的值加1或减1:
*= 或 /=
道理跟“+=”和“-=”一样,用右侧的值乘或者除左侧变量的原值再赋给左侧:
值的比较对编程来讲十分重要,尤其是在一些控制语句里。2.4节会讲控制语句,现在先来熟悉一下各种比较运算符。我们接下来会经常遇到它们。在不同的编程语言里,比较运算符略有不同。比较运算就是判断变量的值是否相等,谁大谁小。
==(相等)
比较两者是否相等,例如:
判断两者是否不相等,例如:
判断左侧的值是否大于右侧的值,跟数学课上教的是一样的:
判断左侧的值是否小于右侧的值,仍然跟数学课上教的一样:
判断左侧的值是否大于或等于右侧的值,数学课也是这么教的:
判断左侧的值是否小于或者等于右侧的值,嗯,大家数学应该都还不错:
判断左侧的语句和右侧的语句是否同时为true:
判断左边的语句和右边的语句中是否至少有一个为true:
对于以上的比较和判断,你可能还心存不解,他们到底用来做什么。别急,在控制语句里,它们就能一展身手了。表2-2列出了上述所有运算符及其用法。
表2-2:运算符及其用法