scala入门基础(2)算术运算
1️⃣Scala 中的算术运算符
2️⃣Scala 中的关系运算符
3️⃣Scala 中的逻辑运算符
4️⃣Scala 中的赋值运算符
5️⃣Scala 的位运算符
1️⃣.一。 Scala 中的算术运算符
二.案例
案例1。
举例写出前缀、中缀和后缀操作符对应的方法调用。
操作步骤:
(1)在Windows控制台中输入scala并按【Enter】键,进入Scala解释器
(2)以中缀操作符+为例。在Scala的解释器中输入1+2并按【Enter】键,得到1加2的结果3,如下所示
scala> 1+2
res0:Int = 3
(得到1加2的结果)
⚠️注意:因为操作符的位置一般在两个对象的中间,所以把+、-、*、/、%这样的操作符称为中缀操作符。
(3)使用方法调用的方式完成上一步的加法操作:1+2相当于整型对象1调用了一个名为+的方法,这个方法所传参数是一个整型2。在Scala解释器中输入1.+(2)并按【Enter】键,同样得到了正确的结果3,如下所示。
scala> 1.+(2)
res1: Int = 3
(使用方法调用的方式完成加法操作)
(4)以/为例进行讲解。在Scala解释器中输入4/2并按【Enter】键,得到4除以2的结果2,如下所示。
scala> 4/2
res2: Int = 2
(得到4除以2的结果)
(5)使用方法调用的方式完成上一步的除法操作。在Scala解释器中输入4./(2)并按【Enter】键,同样得到了正确的结果2,如下所示。
scala> 4./(2)
res3:Int = 2
(使用方法调用的方式完成除法操作)
(6)以%为例进行讲解。在Scala解释器中输入9%5并按【Enter】键,得到取余结果4,如下所示
scala> 9%5
res4:Int = 4
(得到了取余结果)
(7)使用方法调用的方式完成上一步的取余操作。在Scala解释器中输入9.%(5)并按【Enter】键,同样得到正确的结果4,如下所示。
scala>9.%(5)
res5:Int =4
(使用方法调用的方式完成取余操作)
2️⃣.一.Scala 中的关系运算符
3️⃣一。Scala 中的逻辑运算符
二。Scala中的逻辑运算与Java中一样,也是与、或、非三种情况,分别介绍如下。
◎与:运算表达式有一个为假,则整个表达式为假。
◎或:运算表达式有一个为真,则整个表达式为真。
◎非:就是取反的意思,与参与表达式相反。
4️⃣一。Scala 中的赋值运算符
二。案例
(1) var a=2; var b=3;var c=4;
a+=b;b-=c;c*=a;
求a、b、c的值。
(2) var a=2;var b=3;var c=4;
a=b=c;
求a、b、c的值。
(3) var a=2; var b=3;
交换a和b的值。
操作步骤:
(1)在Scala解释器中分别输入var a=2、var b=3和var c = 4并按【Enter】键,定义题目中已知的a、b、c三个变量,如下所示。
scala> var a=2
a:Int =2
scala> var b=3
b:Int = 3
scala>var c=4
c:Int = 4
(定义已知的a、b、c三个变量)
(2)在Scala解释器中输入a+=b并按【Enter】键,之后再输入a并按【Enter】键,可以输出a的值。a+=b表示a=a+b,已知a=2,b=3,所以a的输出结果为5,如下所示。
scala>a+=b
scala>a
res1:Int = 5
(输出a+=b的值)
(3)在Scala解释器中输入b-=c并按【Enter】键,之后再输入b并按【Enter】键,可以输出b的值。b-=c表示b=b-c,已知b=3,c=4,所以b的输出结果为-1,如下所示。
scala> b-=c
scala>b
res3: Int =-1
(输出b-=c的值)
(4)在Scala解释器中输入c*=a并按【Enter】键,之后再输入c并按【Enter】键,可以输出c的值。c*=a表示c=c*a,由于a的值已经由2变成了5,c=4,所以c的输出结果为20,如下所示。
scala>c*=a
scala>c
res5:Int = 20
(输出c*=a的值)
(5)由于上面的操作已经改变了a、b和c的值,所以需要在Scala解释器中重新定义这三个变量的值。在Scala解释器中分别输入var a=2、var b=3和var c=4并按【Enter】健,之后输入a=b=c并按【Enter】键。输出结果会报错,因为b=c这个表达式返回的是一个空值,不可以把一个空值赋值给整型的a,所以会报“类型不匹配”的错误。具体的输出结果如下所示。
scala> var a=2
a:Int =2
scala> var b=3
b:Int = 3
scala> var c=4
c:Int = 4
scala> a=b=c
<console>:14:error: type mismatch;
found : Unit
required: Int
a =b=c
( a=b=c的输出结果)
(6)交换变量a和b的值,首先需要在Scala解释器中输入var a=2和var b=3并按【Enter】健,然后在Scala解释器中输入 var tmp=0定义一个中间变量tmp,如下所示。
scala> var a=2
a: Int = 2
scala> var b=3
b: Int =3
scala> var tmp=0
tmp:Int = 0
(定义 a、b 和tmp的值)
(7)在交换a和b的值时,首先把a的值赋给中间变量tmp,然后把b的值赋给a。这样就完成了b和a的一次交换,即把b的值赋给了a。之后再把tmp的值赋给b,这样就完成了a和b的交换。具
体交换过程如下所示。
scala> tmp=a
tmp:Int = 2
scala> a=b
a: Int = 3
scala> b=tmp
b: Int = 2
(交换a和b的值)
(8)交换之后a和b的值都发生了变化,分别在Scala解释器中输入a和b,可以看到a的值为3,b的值为2。结果表明这两个变量的值已经发生了交换,如下所示。
scala> a
res6:Int = 3
scala>b
res7:Int = 2
(输出交换之后a和b的值)
5️⃣一。Scala 中的位运算符