一、算术运算符
减号:
- 一元减号会翻转原值的正负表达。
- 对于复数来说,使用一元减号,实部与虚部会被同时改变。
注意:
在进行运算时,结果类型遵循“较大原则”,就是取数值范围较大的类型。
Complex > 复数型 > 浮点型 > 有理数型 > 整型
在Julia中,除法运算有两种方式,一个是 / ,一个是 ÷ ,两个是有区别的:
/ 的结果类型是浮点型
÷ 的结果类型是整型
在Julia中,0 做除数的情况:除了**%取余**,0是可以做除数。
求余不适用于复数!
二、位运算
对数值进行位运算,包括与(And)、或(Or)、非(取反,Not)、异或(Xor)、左移及右移等时,实际是对数据的内存结构进行直接的操作。
特别注意
Julia中提供的位运算符仅适用于整型,不能是其他类型,包括浮点型或有理数型等。
位运算符如下所示:
其中除了取反是一元的,其他都是二元运算符。
三、更新运算符
更新运算符实际是在算术或位运算的基础上,编程语言提供的就地(In-place)改变原有值得一种操作方法。
这种赋值运算方式和java中的是一样的。
四、比较运算符
比较运算符是对两个操作数的关系进行比较。
注意点
事实上,是否相等及是否相同可以适用于两个操作数是任意类型的情况,即可以对任意两个对象使用这两类操作符,判断它们是否相同或相等。但大小比较并非如此,需要操作数是同类型,而且该类型在数学上要有意义才行。
isequal()函数等效于==这个运算符,仅在值为NaN或零时会有所不同。
五、逻辑运算符
在Julia中,逻辑运算符有与、或、非三种。
逻辑运算符通常使用在控制流程和条件判断中。
六、运算优先级
优先级是指在各种运算符、操作符有明确的先后执行顺序。
优先级如下图所示:
图中的优先等级越大,则对应的操作符计算优先级越高,会优先执行。
使用Base.operator_precedence()函数可以查看,需要注意的是要使用标识符 “ : ”
必要时,还要使用圆括号进行界定以避免歧义。