Scala 中的操作符

注意:本教學是Scala教學系列的延續。如果您還沒有閱讀過Scala入門指南Scala中的IF ELSE,請先查看它們。

介紹

一個運算子是表示需要對一個或多個操作數進行操作的符號或函數。有許多不同類型的運算子,而操作數可以被視為一個變量。運算子是所有程式語言的基礎。運算子使我們能夠對操作數執行各種操作。運算子通知編譯器執行如數學(算術)、邏輯、賦值等運算,並最終輸出結果。

在Scala以及許多程式語言中使用了不同類型的運算子,以下是它們的類型:

  • 關係運算子
  • 算術運算子
  • 賦值運算子
  • 邏輯運算子
  • 位元運算子

您將會從理論和程式設計的角度學習上述運算子。

關係運算子

關係運算子主要用於比較兩個或多個變數。如果你已經閱讀了Scala 中的 IF ELSE教程,那麼你會發現你已經在IF ELSE條件中利用了關係運算子的威力。

這些關係運算子返回一個布林值,即 True 或 False。

以下是用於變數的關係運算子符號 (來源:Scala 中的運算子):

  • 等於(==): 檢查兩個給定變數或操作數是否相等。如果相等,則返回 true,否則返回 false。

  • 不等於(!=): 它是等於運算子的反義詞,或者你可以說是等於運算子的布林補數。它檢查兩個給定操作數是否相等。如果不相等,則返回 true,否則返回 false。

  • >

    大於(>): 它檢查第一個操作數是否比第二個操作數高。如果是,則返回真,否則返回假。

  • 小於(<): 它是大於操作符的相反,因為它檢查第一個操作數是否比第二個操作數小。如果是,則返回真,否則返回假。

  • 大於等於(>=): 這個操作符檢查第一個操作數是否大於或等於第二個操作數。如果是,則返回真;否則,返回假。

  • 小於等於(<=): 它是大於等於操作符的相反。它檢查第一個操作數是否小於或等於第二個操作數。如果是,則返回真;否则,返回假。

現在讓我們通過一段代碼來理解關聯運算符。

要運行上面的代碼,你只需要輸入scala relation_op.scala,你应该會看到下面的輸出。

接下來,你將學習關於邏輯運算符

邏輯運算符

它們主要用於像IF ELSE語句或甚至是while循環中。它們結合兩個或更多的條件,或者甚至是补足原條件的輸出(被考慮的)。(來源:Scala中的運算符

  • 邏輯與:當兩個條件都滿足時,它返回true。否則,返回false。使用“and”作為&&運算符的代理。
  • 邏輯或:當一個(或兩個)條件滿足時,它返回true。否则,返回false。使用“or”作為||運算符的代理。
  • 邏輯非運算子:當考慮的條件不滿足時,它返回真。否則,返回假。使用“非”作為!運算子的替代。

算術運算子(數學運算子)

如名稱所示,算術運算子用於在操作數之間進行數學運算。

以下是Scala中常用的算術運算子(來源:Scala中的運算子):

  • 加法運算子:將兩個變量/操作數相加。(+)

  • 減法運算子:將兩個操作數相減。(-)

  • 乘法運算子:將兩個操作數相乘。(×)

  • 除法運算子:將第一個操作數除以第二個操作數。(÷)

  • 乘方:回傳操作數的指數(冪)。基本上,當一個操作數被提升到第二操作數的冪(x^y)或(x**y)。

  • 取餘數:當第一操作數除以第二操作數時,剩下的部分或餘數稱為取餘數(%)。

讓我們快速寫一段小程式並分析結果。

在這個例子中,您將使用列表而不是只定義變數。與變數不同,列表可以持有n個不同數據類型的值,它們在scala中代表串聯列表並且是不可變的。您將對兩個列表進行算術操作,而不是兩個變數。

賦值運算符

要將值賦予變量,會使用賦值運算子。為了完成此操作,右側操作數被視為一個值,而左側操作數通常是變量,該值將賦予給這個變量。這個值可以有不同的數據類型,如 int, float 等。變量和值的數據類型應該相同,否則編譯器會報錯。(來源:Scala 中的運算子

  • 簡單賦值: 這個運算子用來將一個值賦予變量 $(=)$。

  • 加和賦值: 用於將左側操作數加上右側操作數,並最終賦予左側變量 $(+=)$。

  • 減和賦值:加和賦值 類似,這用於將左側操作數減去右側操作數,並最終賦予左側變量 $(-=) $。

  • 乘積與賦值:

  • 除法與賦值:

同理,還有許多其他的賦值運算符。最後,讓我們寫一段程式碼來了解它們如何在程式中工作。

結論

恭喜您完成 Scala 教程。

如果您已經读过前两次的教学,那麼您已經涵蓋了 Scala 的三個不同主題。一個有用的練習將會是把從這三個主題中学到的技能綜合起來,並從頭開始寫一個 Scala 程式。這不僅會增強您的自信,還會讓您在跟進更多進階的 Scala 主題時,生活變得更加輕鬆。

參考資料:

請隨時在下面的评论区提問,如果您有关于這個教程的任何問題。

Source:
https://www.datacamp.com/tutorial/operators-in-scala