血崩是什么意思| 胎位lop是什么意思| 腊肠和什么菜炒最佳| 个性是什么意思| 今天是个什么日子| 梦代表什么生肖| c14呼气试验是检查什么的| 耀武扬威的意思是什么| 什么有条| 股票换手率是什么意思| 总是低烧是什么原因造成的| 老鼠为什么怕猫| nz是什么意思| 败血症吃什么药| 备货是什么意思| 什么叫法西斯| 诞辰什么意思| 独什么心什么| 0中间有一横是什么字体| 派出所什么时候上班| 磷是什么元素| 神神叨叨是什么意思| 互卦是什么意思| 晚上睡觉口干舌燥是什么原因| 牙根变黑是什么原因| 胃肠性感冒吃什么药| 清一色是什么意思| 天刑是什么意思| 月光蓝是什么颜色| 野鸡大学是什么意思| 连襟是什么关系| 低压高是什么意思| 汽车空调不制冷是什么原因| 深度水解奶粉是什么意思| 心肌供血不足吃什么药| 糖尿病不能吃什么| 肾精亏虚吃什么药最好| 胰腺占位是什么意思| 吃什么补铁| 肺炎支原体感染吃什么药| 6d是什么意思| 乳房疼吃什么药| 血小板太高会导致什么| 薇诺娜适合什么年龄| 囊肿是什么原因| 脚趾缝脱皮是什么原因| 副局级干部是什么级别| 黑色加什么颜色是棕色| 胃痉挛吃什么药好| 豆浆什么人不能喝| 房颤与早搏有什么区别| 空调开不了机是什么原因| 螃蟹不能和什么水果一起吃| 夏至为什么吃馄饨| 蛇怕什么家禽| 变蛋是什么蛋| 三月生日是什么星座| 省政协主席是什么级别| 小孩办身份证需要什么材料| 四个横念什么| 开黄腔什么意思| 经常饿是什么原因| 5月28号是什么日子| 糯米粉可以做什么好吃的| 什么叫磨玻璃结节| 被孤立的一般是什么人| 青光眼是什么| 吃了榴莲不可以吃什么| 征兵初检检查什么| 电灯泡什么意思| 什么是慢阻肺| 什么叫高脂血症| 50岁眼睛模糊吃什么好| 手足口病要注意什么| 海参几头是什么意思| 麒麟儿是什么意思| 非你莫属是什么意思| 壁虎的尾巴有什么用| 出痧是什么意思| 梦见自己生小孩是什么征兆| 笑得什么| 有一种水果叫什么竹| polo是什么意思| 导火索是什么意思| 梅毒会通过什么传染| 四肢麻木是什么病| 伤口感染化脓用什么药| 小葫芦项链是什么牌子| 汉菜不能和什么一起吃| 寅五行属什么| 去医院检查是否怀孕挂什么科| 福寿螺为什么不能吃| 静字五行属什么| 什么叫甲状腺| 尿酸高要注意什么| 正畸和矫正有什么区别| ena是什么检查项目| 经常喝茶叶有什么好处| 水银中毒会出现什么状况| 小孩尿酸高是什么原因| 胃为什么会疼| 粽子的叶子是什么叶| 指导员是什么级别| 水鱼煲鸡汤放什么药材| 艾条什么牌子好用| 胆囊壁欠光滑是什么意思| 感染性发热是什么意思| 为什么尿酸高| 何以笙箫默什么意思| 豆乳是什么| 茉莉茶叶有什么功效和作用| bgb是什么意思| 一直拉肚子是什么原因| 卡介苗什么时候接种| 十二年是什么婚| 牙痛吃什么好| 罗红霉素和红霉素有什么区别| 国家一级演员是什么级别| 腐女是什么意思| ige高是什么意思| 兵字五行属什么| 绚丽夺目的意思是什么| 眼镜片什么材质的好| 吃毓婷有什么副作用| 手腕痛是什么原因| 中午吃什么好| 胎动什么感觉| 心脏神经官能症吃什么药| 治疗心率过快用什么药效果好| 放射治疗是什么意思| 且慢是什么意思| 睡醒咳嗽是什么原因| 静待花开的前一句是什么| 血塞通治什么病| nec是什么牌子| 年轻人白头发是什么原因引起的| 安分守己什么意思| cocoon是什么意思| 低血压头晕吃什么药| 胆囊息肉是什么原因造成的| 1130是什么星座| 脑梗复查挂什么科| 亚铁是什么| 长痱子是什么原因| 心脏房颤是什么症状| 驾照c2能开什么车| 病毒性心肌炎吃什么药| 1996年是什么命| 法官是干什么的| 乳腺钼靶是什么意思| 除湿气喝什么茶| 花枝鼠吃什么| 舌头苦是什么原因| 残疾证有什么用| 骨髓瘤是什么病| 什么头十足| 二次元文化是什么意思| 他们吃什么| 女性小腹疼痛是什么原因| 雌二醇凝胶有什么作用| 手被辣椒辣了用什么方法解辣| 脚底疼是什么原因引起的| 釉是什么| 吃脆骨有什么好处| 什么是超话| 菽是什么意思| 办理无犯罪记录证明需要什么材料| 近水楼台先得月是什么生肖| 爱的真正含义是什么| 胸一大一小什么原因| 空心菜是什么菜| 帕金森病是什么原因引起的| 吃不胖是什么原因| 编程属于什么专业| 严重失眠有什么方法| 皮蛋吃了有什么好处和坏处| m什么单位| 河南有什么特色美食| 乌龟和鳖有什么区别| 子宫萎缩是什么原因| 血糖偏高吃什么水果好| 滑板什么意思| 双修是什么意思| 灵芝适合什么样的人吃| 头热手脚冰凉什么原因| 吃党参有什么好处| 九月初九是什么节日| 什么品牌的卫浴好| 水瓶座的幸运色是什么| 小孩过敏吃什么药最好| alex是什么意思| 什么原因导致心肌缺血| 蔬菜用什么肥料最好| 梦见蘑菇是什么预兆| 强颜欢笑是什么意思| 心慌手抖是什么原因| 青葱岁月下一句是什么| 窦炎是什么意思| 泰格豪雅属于什么档次| 高明是什么意思| 齿痕舌吃什么药| 无什么无什么| 6月28是什么星座| 镉是什么东西| 吃什么可以补钾| 糖尿病不能吃什么| 大便羊粪状吃什么药| 痔疮吃什么消炎药最好| 气血不足是什么症状| 1944年属什么生肖| 什么地方| d什么意思| 萝卜不能和什么一起吃| 养肝吃什么好| 榆木脑袋是什么意思| 八月一日是什么日子| ori是什么意思| 自缢是什么意思| 什么地方| 肺部磨玻璃结节需要注意什么| 唇色深是什么原因| 电影bd是什么意思| 轮状病毒吃什么药| 什么是肝硬化| 芦笋是什么植物| 四什么八什么| 血凝是什么意思| 办出国护照需要什么手续| 宝五行属性是什么| 圆脸适合什么刘海| 什么洗发水去屑效果好| 武林外传的客栈叫什么| 双手麻木是什么原因| 道听途说是什么意思| 月经不调吃什么调理| 新生儿血糖低是什么原因| 黄瓜吃了有什么好处| 诱惑是什么意思| 汲水什么意思| 长期口苦是什么原因| 北海为什么叫北海| qaq什么意思| 3s是什么意思| 腰椎生理曲度存在是什么意思| 为什么女娲是一条蛇| 2001年属什么生肖| 天天洗头发有什么危害| 吃什么补气虚最快最好| 1999年出生的属什么| 不什么不| 什么是根管治疗牙齿| 为什么三文鱼可以生吃| 爱我永不变是什么歌| 榴莲蜜什么味道| 梦见找鞋子是什么意思| 木瓜是什么季节的水果| 手代表什么生肖| 叒怎么读音是什么意思| 霜降吃什么| 为什么叫梅雨季节| 舌头发黄是什么原因| 适当是什么意思| 防微杜渐是什么意思| 中规中矩是什么意思| 百度
Scala Tutorial / Scala 运算符

水印之美:传统艺术的赓续与焕新

百度 冠军战中遗憾失利,这也是在IPL5的辉煌过后,随着《英雄联盟》玩家数量与全球影响力的快速增长,国内玩家首次认识到电竞强国韩国赛区在这一项目上的强大。

一个运算符是一个符号,用于告诉编译器来执行指定的数学运算和逻辑运算。

Scala 含有丰富的内置运算符,包括以下几种类型:

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 位运算符

  • 赋值运算符

接下来我们将为大家详细介绍以上各种运算符的应用。


算术运算符

下表列出了 Scala 支持的算术运算符。

假定变量 A 为 10,B 为 20:

运算符描述实例
+加号A + B 运算结果为 30
-减号A - B 运算结果为 -10
*乘号A * B 运算结果为 200
/除号B / A 运算结果为 2
%取余B % A 运算结果为 0

实例

object Test {
   def main(args: Array[String]) {
      var a = 10;
      var b = 20;
      var c = 25;
      var d = 25;
      println("a + b = " + (a + b) );
      println("a - b = " + (a - b) );
      println("a * b = " + (a * b) );
      println("b / a = " + (b / a) );
      println("b % a = " + (b % a) );
      println("c % a = " + (c % a) );
      
   }
}

运行实例 ?

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5

关系运算符

下表列出了 Scala 支持的关系运算符。

假定变量 A 为 10,B 为 20:

运算符描述实例
==等于(A == B) 运算结果为 false
!=不等于(A != B) 运算结果为 true
>大于(A > B) 运算结果为 false
<小于(A < B) 运算结果为 true
>=大于等于(A >= B) 运算结果为 false
<=小于等于(A <= B) 运算结果为 true

实例

object Test {
   def main(args: Array[String]) {
      var a = 10;
      var b = 20;
      println("a == b = " + (a == b) );
      println("a != b = " + (a != b) );
      println("a > b = " + (a > b) );
      println("a < b = " + (a < b) );
      println("b >= a = " + (b >= a) );
      println("b <= a = " + (b <= a) );
   }
}

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false

逻辑运算符

下表列出了 Scala 支持的逻辑运算符。

假定变量 A 为 1,B 为 0:

运算符描述实例
&&逻辑与(A && B) 运算结果为 false
||逻辑或(A || B) 运算结果为 true
!逻辑非!(A && B) 运算结果为 true

实例

object Test {
   def main(args: Array[String]) {
      var a = true;
      var b = false;

      println("a && b = " + (a&&b) );

      println("a || b = " + (a||b) );

      println("!(a && b) = " + !(a && b) );
   }
}

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
a && b = false
a || b = true
!(a && b) = true

位运算符

位运算符用来对二进制位进行操作,~,&,|,^分别为取反,按位与与,按位与或,按位与异或运算,如下表实例:

pqp & qp | qp ^ q
00000
01011
11110
10011

如果指定 A = 60; 及 B = 13; 两个变量对应的二进制为:

A = 0011 1100

B = 0000 1101

-------位运算----------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A  = 1100 0011

Scala 中的按位运算法则如下:

运算符描述实例
&按位与运算符(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或运算符(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反运算符(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<<左移动运算符a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符a >> 2 输出结果 15 ,二进制解释: 0000 1111
>>>无符号右移A >>>2 输出结果 15, 二进制解释: 0000 1111

实例

object Test {
   def main(args: Array[String]) {
      var a = 60;           /* 60 = 0011 1100 */  
      var b = 13;           /* 13 = 0000 1101 */
      var c = 0;

      c = a & b;            /* 12 = 0000 1100 */ 
      println("a & b = " + c );

      c = a | b;            /* 61 = 0011 1101 */
      println("a | b = " + c );

      c = a ^ b;            /* 49 = 0011 0001 */
      println("a ^ b = " + c );

      c = ~a;               /* -61 = 1100 0011 */
      println("~a = " + c );

      c = a << 2;           /* 240 = 1111 0000 */
      println("a << 2 = " + c );

      c = a >> 2;           /* 215 = 1111 */
      println("a >> 2  = " + c );

      c = a >>> 2;          /* 215 = 0000 1111 */
      println("a >>> 2 = " + c );
   }
}

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2  = 15
a >>> 2 = 15

赋值运算符

以下列出了 Scala 语言支持的赋值运算符:

运算符描述实例
=简单的赋值运算,指定右边操作数赋值给左边的操作数。C = A + B 将 A + B 的运算结果赋值给 C
+=相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数。C += A 相当于 C = C + A
-=相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数。C -= A 相当于 C = C - A
*=相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数。C *= A 相当于 C = C * A
/=相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数。C /= A 相当于 C = C / A
%=求余后再赋值,将左右两边的操作数求余后再赋值给左边的操作数。C %= A is equivalent to C = C % A
<<=按位左移后再赋值C <<= 2 相当于 C = C << 2
>>=按位右移后再赋值C >>= 2 相当于 C = C >> 2
&=按位与运算后赋值C &= 2 相当于 C = C & 2
^=按位异或运算符后再赋值C ^= 2 相当于 C = C ^ 2
|=按位或运算后再赋值C |= 2 相当于 C = C | 2

实例

object Test {
   def main(args: Array[String]) {
      var a = 10;	
      var b = 20;
      var c = 0;

      c = a + b;
      println("c = a + b  = " + c );

      c += a ;
      println("c += a  = " + c );

      c -= a ;
      println("c -= a = " + c );

      c *= a ;
      println("c *= a = " + c );

      a = 10;
      c = 15;
      c /= a ;
      println("c /= a  = " + c );

      a = 10;
      c = 15;
      c %= a ;
      println("c %= a  = " + c );

      c <<= 2 ;
      println("c <<= 2  = " + c );

      c >>= 2 ;
      println("c >>= 2  = " + c );

      c >>= 2 ;
      println("c >>= a  = " + c );

      c &= a ;
      println("c &= 2  = " + c );
     
      c ^= a ;
      println("c ^= a  = " + c );

      c |= a ;
      println("c |= a  = " + c );
   }
}

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
c = a + b  = 30
c += a  = 40
c -= a = 30
c *= a = 300
c /= a  = 1
c %= a  = 5
c <<= 2  = 20
c >>= 2  = 5
c >>= a  = 1
c &= 2  = 0
c ^= a  = 10
c |= a  = 10

运算符优先级

在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

  • 指针最优,单目运算优于双目运算。如正负号。

  • 先乘除(模),后加减。

  • 先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7 等价于 (1 << (3 + 2))&7

  • 逻辑运算最后计算

运算符类型运算符结合方向
表达式运算() [] . expr++ expr--左到右
一元运算符

* & + - ! ~ ++expr --expr

* / %

+ -

>> <<

< > <= >=

== !=

右到左
位运算符

&

^

|

&&

||

左到右
三元运算符?:右到左
赋值运算符= += -= *= /= %= >>= <<= &= ^= |=右到左
逗号,左到右
新百伦鞋子什么档次 什么叫做质量 3什么意思 体内湿气重吃什么食物 紫微斗数是什么
舌苔白腻吃什么中成药 衣钵是什么意思 吃什么东西对胃好 为什么不嫁丧妻之男 花裤子配什么上衣
流莺是什么意思 受之无愧的意思是什么 出气不顺畅是什么原因 1923年属什么生肖 手指甲上的月牙代表什么
智商135是什么水平 红细胞偏低是什么原因 友字五行属什么 片的第二笔是什么 男生眉毛浓黑代表什么
孕妇吃什么长胎不长肉hcv7jop9ns1r.cn 党参不能和什么一起吃hcv7jop4ns8r.cn 长公主是皇上的什么人hcv8jop6ns7r.cn 八月八号什么星座hcv9jop1ns4r.cn 甘油三酯吃什么药hcv9jop1ns4r.cn
拱是什么意思hcv7jop6ns8r.cn 眼睛有重影是什么原因hcv9jop7ns9r.cn lch是什么病hcv8jop6ns0r.cn 梦见包被偷了什么预兆hcv7jop5ns0r.cn 什么鱼清蒸最好吃96micro.com
香蕉什么时候成熟hcv7jop6ns4r.cn 脾胃寒湿吃什么中成药hcv8jop2ns0r.cn 男人为什么离不开情人hcv8jop9ns2r.cn 经期量少吃什么来排血hcv8jop8ns9r.cn 马走日是什么意思hcv8jop1ns7r.cn
早上尿黄是什么原因hcv9jop8ns0r.cn 窦性心律吃什么药hcv9jop6ns2r.cn 什么地发现hcv9jop6ns6r.cn 孕检都检查什么项目shenchushe.com 暗物质和暗能量是什么hcv7jop7ns4r.cn
百度