Ocaml学习笔记 算术和逻辑运算符
一、算术运算符和算术表达式
同C、C++和Java不同,Ocaml中没有一元算术运算符,只有二元逻辑运算符
Ocaml中二元逻辑运算符有
运算符 | 表达式 | 功能 |
+ | op1 + op2 | 整数加 |
- | op1 – op2 | 整数减 |
* | op1 * op2 | 整数乘 |
op1 / op2 | 整数除 | |
+. | op1 +. op2 | 浮点加 |
-. | op1 -. op2 | 浮点减 |
*. | op1 *. op2 | 浮点乘 |
/. | 浮点除 | |
** | op1 ** op2 | 浮点指数 |
mod | op1 mod op2 | 整数求余 |
land | op1 land op2 | 按位于 |
lor | op1 lor op2 | 按位或 |
lxor | op1 lxor op2 | 按位异或 |
lsl | op1 lsl op2 | op1左移op2位 |
lsr | op1 lsr op2 | op1右移op2位 |
asr | op1 asr op2 | op1算术右移op2位 |
注意同C++、Java不同,在Ocaml中整数和浮点数不能进行混合运算,如果一个整数和一个浮点数之间要进行算术运算,必须通过转换函数把整数转换成浮点数或者浮点数转换为整数,才能进行运算,否则代码编译会报错。
二、逻辑运算符和逻辑表达式
(1)、二元逻辑运算符
运算符 | 表达式 | 名称 |
= | op1 = op2 | 等于 |
<> | op1 <> op2 | 不等于 |
== | op1 == op2 | 物理等于 |
!= | op1 != op2 | 物理不等于 |
< | op1 < op2 | 小于 |
<= | op1 <= op2 | 小于等于 |
> | op1 > op2 | 大于 |
>= | op1 >= op2 | 大于等于 |
&& | exp1 && exp2 | 与 |
exp1 || exp2 | 或 | |
& | exp1 && exp2 | 与 |
or | exp1 || exp2 | 或 |
二、其他操作符
(1)、字符串连接操作符 ^
示例:”123”^”456” 的值为”123456”
(2)、List连接运算符 @
(3)、取引用运算符 !
(4)、引用赋值运算符 :=