Scala 中 && 和 & 運算子的區別
Mohammad Irfan
2023年1月30日
本文將討論 Scala 中 &&
和 &
運算子之間的區別。 &&
和&
都是條件運算子,用於測試任何需要兩個運算元的邏輯表示式並返回 true
或 false
,即基於表示式結果的布林值。
&
運算子是邏輯和按位運算子,因為它對布林值和二進位制資料都進行運算。 &&
運算子是一個邏輯運算子,僅適用於 Scala 中的布林資料型別。
&
運算子計算表示式的兩邊以獲得最終結果。如果第一個表示式返回 false
,&&
運算子將只計算表示式的左側,而不計算表示式的右側。
在 Scala 中使用邏輯 &&
運算子
我們正在使用 &&
運算子比較一些整數值。它返回真
或假
。
object MyClass {
def main(args: Array[String]) {
var a = 10
var b = 20
var c = 10
if(a==b && a==c)
print("All the values are equal")
else
print("Not equal")
}
}
輸出:
Not equal
在 Scala 中使用按位 &
運算子
我們使用按位運算子 &
來比較一些整數值。如果兩個值都是 true
,它也會返回 true
。
object MyClass {
def main(args: Array[String]) {
var a = 10
var b = 20
var c = 10
if(a==b & a==c)
print("All the values are equal")
else
print("Not equal")
}
}
輸出:
Not equal
這是檢查這些(&&
和 &
)運算子之間差異的最佳方法。 &&
運算子也稱為短路運算子,因為如果第一個表示式已經為 false
,它不會檢查第二個表示式。
在這裡,我們將 b
變數的值增加 1
以檢查編譯器是否執行第二個表示式,並檢視輸出是否與預期相同。
object MyClass {
def main(args: Array[String]) {
var a=4
var b=5;
println((a == 6) && ((b=b+1) == 6));
println("b= "+b);
}
}
輸出:
false
5