From 3a95e910c728ae8310240f1a2035872ad3321311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Mon, 6 May 2019 09:51:42 +0800 Subject: [PATCH] =?UTF-8?q?scala=E5=9F=BA=E6=9C=AC=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=92=8C=E8=BF=90=E7=AE=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...=> Scala基本数据类型和运算符.md} | 69 ++++++++++++++++-- pictures/scala-操作符优先级.png | Bin 0 -> 35952 bytes 2 files changed, 64 insertions(+), 5 deletions(-) rename notes/{Scala基本数据类型.md => Scala基本数据类型和运算符.md} (60%) create mode 100644 pictures/scala-操作符优先级.png diff --git a/notes/Scala基本数据类型.md b/notes/Scala基本数据类型和运算符.md similarity index 60% rename from notes/Scala基本数据类型.md rename to notes/Scala基本数据类型和运算符.md index 3a2967c..8145c54 100644 --- a/notes/Scala基本数据类型.md +++ b/notes/Scala基本数据类型和运算符.md @@ -1,4 +1,19 @@ -# Scala基本数据类型 +# Scala基本数据类型和运算符 + + + ## 一、数据类型 @@ -23,7 +38,7 @@ Scala 拥有下表所示的数据类型,其中Byte、Short、Int、Long和Char ## 二、字面量 -Scala和Java字面量在使用上很多相似,比如都使用F或f表示浮点型,都使用L或l表示Long类型。故下文主要介绍两者差异部分。 +Scala和Java字面量在使用上很多相似,比如都使用F或f表示浮点型,都使用L或l表示Long类型。下文主要介绍两者差异部分。 ```scala scala> 1.2 @@ -134,11 +149,11 @@ Scala和其他语言一样,支持大多数的操作运算符: - 位运算符(~,&,|,^,<<,>>,>>>) - 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=) -以上操作符的基本使用与其他语言类似,以下主要介绍差异部分和注意事项。 +以上操作符的基本使用与Java类似,下文主要介绍差异部分和注意事项。 ### 3.1 运算符即方法 -Scala的面向对象比Java更加纯粹,在Scala中一切都是对象。对于`1+2`,实际上是调用了Int类中名为`+`的方法,所以1+2,也可以写成`1.+(2)`。 +Scala的面向对象比Java更加纯粹,在Scala中一切都是对象。所以对于`1+2`,实际上是调用了Int类中名为`+`的方法,所以1+2,也可以写成`1.+(2)`。 ```scala scala> 1+2 @@ -150,7 +165,51 @@ res15: Int = 3 Int类中包含了多个重载的`+`方法,用于分别接收不同类型的参数。 -![scala-int+](D:\BigData-Notes\pictures\scala-int+.png) +
### 3.2 运算符优先级 +操作符的优先级如下:优先级由上至下,逐级递减。 + +
+ +在表格中某个字符的优先级越高,那么以这个字符打头的方法就拥有更高的优先级。如`+`的优先级大于`<`,也就意味则`+`的优先级大于以`<`开头的`<<`,所以`2<<2+2` , 实际上等价于`2<<(2+2)` : + +```scala +scala> 2<<2+2 +res0: Int = 32 + +scala> 2<<(2+2) +res1: Int = 32 +``` + +### 3.3 逻辑运算符 + +和其他语言一样,在Scala中&&,||的执行是短路的,即如果左边的表达式能确定整个结果,右边的表达式就不会被执行,这满足大多数使用场景。但是如果你需要在无论什么情况下,都执行右边的表达式,则可以使用&或|代替。 + +### 3.4 对象相等性 + +如果想要判断两个对象是否相等,可以使用`==`和`!=`,这两个操作符可以用于所有的对象,包括null。 + +```scala +scala> 1==2 +res2: Boolean = false + +scala> List(1,2,3)==List(1,2,3) +res3: Boolean = true + +scala> 1==1.0 +res4: Boolean = true + +scala> List(1,2,3)==null +res5: Boolean = false + +scala> null==null +res6: Boolean = true +``` + + + +## 参考资料 + +1. Martin Odersky(著),高宇翔(译) . Scala编程(第3版)[M] . 电子工业出版社 . 2018-1-1 \ No newline at end of file diff --git a/pictures/scala-操作符优先级.png b/pictures/scala-操作符优先级.png new file mode 100644 index 0000000000000000000000000000000000000000..9f7dca8f8ae10fc136476404924365ffba94f57d GIT binary patch literal 35952 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