运算符
优质
小牛编辑
132浏览
2023-12-01
operator是一个符号,告诉编译器执行特定的数学或逻辑操作。
Clojure有以下类型的运算符 -
- 算术运算符
- 关系运算符
- 逻辑运算符
- 按位运算符
Note - 在Clojure中,运算符和操作数以下列语法方式工作。
语法 (Syntax)
(operator operand1 operand2 operandn)
例如,
例子 (Example)
(+ 1 2)
上面的例子对数字1和2进行了算术运算。
算术运算符 (Arithmetic Operators)
Clojure语言支持普通的算术运算符作为任何语言。 以下是Clojure中提供的算术运算符。
操作者 | 描述 | 例 |
---|---|---|
+ | 增加了两个操作数 | (+ 1 2)将给出3 |
− | 从第一个减去第二个操作数 | ( - 2 1)将给1 |
* | 两个操作数的乘法 | (* 2 2)将给出4 |
/ | 由分母划分的分子 | (float(/ 3 2))将给出1.5 |
inc | 增量运算符用于将操作数的值递增1 | 公司5将给6 |
dec | 增量运算符用于将操作数的值减1 | 12月5日将给4 |
max | 返回其最大的参数 | 最大1 2 3将返回3 |
min | 返回其最小的参数 | min 1 2 3将返回1 |
rem | 将第一个数除以第二个数的余数 | rem 3 2将给出1 |
关系运算符 (Relational Operators)
关系运算符允许比较对象。 以下是Clojure中提供的关系运算符。
操作者 | 描述 | 例 |
---|---|---|
= | 测试两个对象之间的相等性 | (= 2 2)将给出真实 |
not= | 测试两个对象之间的差异 | (不是= 3 2)会给出真实的 |
< | 检查左对象是否小于右操作数 | (<2 3)将给出真实 |
<= | 检查左对象是否小于或等于右操作数 | (<= 2 3)将给出真实 |
> | 检查左对象是否大于右操作数 | (> 3 2)将给出真实 |
>= | 检查左对象是否大于或等于右操作数 | (> = 3 2)将给出真实 |
逻辑运算符 (Logical Operators)
逻辑运算符用于计算布尔表达式。 以下是Groovy中可用的逻辑运算符。
操作者 | 描述 | 例 |
---|---|---|
and | 这是逻辑“和”运算符 | (或者说真的)会给出真实的 |
or | 这是逻辑“或”运算符 | (而真假)会给出错误的 |
not | 这是逻辑“非”运算符 | (不是假的)会给出真实的 |
以下代码段显示了如何使用各种运算符。
按位运算符 (Bitwise Operators)
Clojure提供了四个按位运算符。 以下是Clojure中可用的按位运算符。
Sr.No. | 操作符和说明 |
---|---|
1 | bit-and 这是按位“和”运算符 |
2 | bit-or 这是按位“或”运算符 |
3 | bit-xor 这是按位“xor”或“Exclusive”或“运算符” |
4 | bit-not 这是按位否定运算符 |
以下是展示这些运算符的真值表。
p | q | p&Q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
运算符优先级 (Operator Precedence)
与LISP一般情况一样,无需担心运算符优先级。 这是S-Expressions和前缀表示法的好处之一。 所有功能都从左到右,从里到外进行评估。 Clojure中的运算符只是函数,一切都是完全括号的。