运算符
编辑教程Clojure 运算符
运算符是一个符号,通知编译器执行特定的数学或逻辑操作。
Clojure有以下类型的运算符:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
注 -在Clojure中,运算符和操作数以下面的语法方式工作。
语法
(operator operand1 operand2 operandn)
例
(+ 1 2)
上述示例对数字1和2进行算术运算。
算术运算符 Clojure语言支持任何语言的正常的算术运算符。 以下是Clojure中提供的算术运算符。
操作 | 描述 | 例 |
---|---|---|
+ | 两个操作数相加 | (+ 1 2) 得到 3 |
- | 从第一个操作数中减去第二个操作数 | (- 2 1) 得到 1 |
* | 两个操作数的乘法 | (* 2 2) 得到 4 |
/ | 分子除以分母 | (float (/ 3 2)) 得到 1.5 |
inc | 用于将操作数的值增加1的增量运算符 | inc 5 得到 6 |
dec | 用于将操作数的值减1的增量运算符 | dec 5 得到 4 |
max | 返回其最大值的参数 | max 1 2 3 返回 3 |
min | 返回其最小值的参数 | min 1 2 3 返回 1 |
rem | 将第一个数除以第二个数的余数 | rem 3 2 得到 1 |
例
(ns clojure.examples.hello
(:gen-class))
;; This program displays Hello World
(defn Example []
(def x (+ 2 2))
(println x)
(def x (- 2 1))
(println x)
(def x (* 2 2))
(println x)
(def x (float(/ 2 1)))
(println x)
(def x (inc 2))
(println x)
(def x (dec 2))
(println x)
(def x (max 1 2 3))
(println x)
(def x (min 1 2 3))
(println x)
(def x (rem 3 2))
(println x))
(Example)
上述示例产生以下结果:
4
1
4
2.0
3
1
3
1
1
关系运算符
关系运算符允许比较对象。 以下是Clojure中可用的关系运算符。
操作者 | 描述 | 例 |
---|---|---|
= | 测试两个对象之间的相等性 | (= 2 2) 得到 true |
not= | 测试两个对象之间的差异 | (not = 3 2) 得到 true |
< | 检查左对象是否小于右对象正确的运算符 | (< 2 3) 得到 true |
<= | 检查左对象是否小于或等于右对象的运算符 | (<= 2 3) 得到 true |
> | 检查左对象是否大于右对象的运算符 | (> 3 2) 得到 true |
> = | 检查左对象是否大于或等于右对象的运算符 | (>= 3 2) 得到 true |
例
(ns clojure.examples.hello
(:gen-class))
;; This program displays Hello World
(defn Example []
(def x (= 2 2))
(println x)
(def x (not= 3 2))
(println x)
(def x (< 2 3))
(println x)
(def x (<= 2 3))
(println x)
(def x (> 3 2))
(println x)
(def x (>= 3 2))
(println x))
(Example)
上述示例产生以下结果:
true
true
true
true
true
true
逻辑运算符
逻辑运算符用于计算布尔表达式。 以下是Groovy中可用的逻辑运算符。
操作者 | 描述 | 例 |
---|---|---|
or | 这是逻辑“或”运算 | (or true true)会得到 true |
and | 这是逻辑“与”运算 | (and true false)会得到 false |
not | 这是逻辑“非”运算 | (not false)会得到 true |
以下代码段显示了如何使用各种运算符。
(ns clojure.examples.hello
(:gen-class))
;; This program displays Hello World
(defn Example []
(def x (or true true))
(println x)
(def x (and true false))
(println x)
(def x (not true))
(println x))
(Example)
上述示例产生以下结果:
true
false
false
位运算符
Groovy提供了四个按位运算符。 以下是Groovy中可用的按位运算符。
这是位取反运算符
运算符 | 运算符说明 |
---|---|
bit-and | 这是位“和”运算符 |
bit-or | 这是位“或”运算符 |
bit-xor | 这是位“xor”或Exclusive'or'运算符 |
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 |
以下代码段显示了如何使用各种运算符:
(ns clojure.examples.hello
(:gen-class))
;; This program displays Hello World
(defn Example []
(def x (bit-and 00111100 00001101))
(println x)
(def x (bit-or 00111100 00001101))
(println x)
(def x (bit-xor 00111100 00001101))
(println x))
(Example)
上述示例产生以下结果:
576
37441
36865
运算符优先级
与LISP一般情况一样,没有必要担心运算符优先级。 这是S表达式和前缀符号的好处之一。 所有函数从左到右和从内到外。 Clojure中的运算符只是函数,并且一切都完全括起来。
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟