Scala的操作符

Scala 操作符(Operators)

Scala的操作符都是方法
任何方法也都可以被看成是操作符

操作符标记法(Operator notation)

  • infix: take two operands
  • prefix: is unary, take just one operand
  • postfix: is unary, take just one operand

关于方法的调用

Scala中,方法的使用有个约定:如果这个方法有副作用(side-effects),调用该方法时加上圆括号(parentheses);如果这个方法没有副作用,调用该方法时不加圆括号

Scala的 == 操作

Scala的 == 操作符,用来比较内容,即便是不同的对象,只要内容一致,就会判断相等
Scala使用eq方法来判断引用是否相等,也就是判断栈里面的变量是否指向同一个堆中的对象

操作符的优先级以及结合性(precedence and associativity)

操作符优先级

Scala操作符的优先级取决于该操作符的第一个字符

// 优先级列表
(all other special characters)
* / %
+ -
:
= !
< >
&
^
|
(all letters)
(all assignment operators)

优先级的例外规则

如果一个操作符以一个等号(=)结束,且不是如下操作符之一(>=, <=, ==, !=),此时这个操作符的优先级等同于简单的赋值操作(assignment =)

操作符结合性

Scala操作符的结合性取决于操作符的最后一个字符。任何方法以“:”结尾,都是右结合性。如下所示:

val list = List(1,2,3,4)
5 :: list
// list.::(5)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,593评论 1 24
  • 操作符 操作符优先级 在像 1 + 2 * 3 这样的表达式中, 2 * 3 被首先计算, 因为中缀操作符 * ...
    焉知非鱼阅读 1,579评论 0 1
  • 彩虹桥有七种颜色,红橙黄绿青蓝紫。彩虹还像一个小桥。每年春和夏下完雨都会有彩虹。彩虹的七色很漂亮。希望我能看一看彩虹桥。
    41f9d0a5c8db阅读 246评论 0 0
  • 一犹豫期 参加读书营,我思前想后还是决定参加了,我没有太多远大的理想,嘿嘿,其实有点不自信,主要不相信自己...
    红琳是核桃牛奶的妈妈阅读 279评论 4 6
  • 墨 当你总是傻傻的发呆,而又自己一个人默默含笑 又是……看到一片美丽的风景,又是要停顿许久 或许一个下午...
    墨下的画风阅读 175评论 0 0

友情链接更多精彩内容