日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scala编程学习之三-运算符篇

發布時間:2024/3/13 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scala编程学习之三-运算符篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.運算符介紹

運算符是一種特殊的符號,用以表示數據的運算、賦值和比較等。
1)算術運算符
2)賦值運算符
3)比較運算符(關系運算符)
4)邏輯運算符【與,或,非】
5)位運算符 (位運算 ~ | ^ >> << >>>…)

# 1.1 運算符的一覽圖

## 1.2案例演示
案例演示算術運算符的使用(Operator.scala)。
+, - , * , / , % 重點講解 /、%
+、-、* 是一個道理,完全可以類推。
算數運算符的運算規則和Java一樣

案例:

var r1 : Int = 10 / 3 // 3 [不會進行四舍五入] println("r1=" + r1) var r2 : Double = 10 / 3 【3.0 1.先得到 3 => 3.0 】 println("r2=" + r2) var r3 : Double = 10.0 / 3 [3.3333333..] println("r3=" + r3 ) println("r3=" + r3.formatted("%.2f") ) // 格式化輸出, 保留小數點2位,并且進行四舍五入

## 1.3細節說明
1)對于除號“/”,它的整數除和小數除是有區別的:整數之間做除法時,只保留整數部分而舍棄小數部分。 例如:var x : Int = 10/3 ,結果是 3
2)當對一個數取模時,可以等價 a%b=a-a/b*b , 這樣我們可以看到取模的一個本質運算(和java 的取模規則一樣)。

3)注意:Scala中沒有++、–操作符,需要通過+=、-=來實現同樣的效果
4)代碼

object Demo02 {def main(args: Array[String]): Unit = {var i = 10//i++ ++i 沒有了//i-- --i 沒有//使用 += -= 替代. goi += 1i -= 1//取模println("res0=" + 10 % 3) // 1println("res0=" + -10 % 3) // => -10 - (-10)/3 * 3 => -10 - (-9) = -1println("res0=" + -10 % -3) // =>-10 - (-10)/(-3) * -3 =>-10 - (-9) = -1println("res0=" + 10 % -3) // =>10 - (10)/(-3) * -3 => 10 - 9 = 1} }

## 1.4小練習
1)假如還有97天放假,問:xx個星期零xx天
2)定義一個變量保存華氏溫度,華氏溫度轉換攝氏溫度的公式為:5/9*(華氏溫度-100),請求出華氏溫度對應的攝氏溫度。[測試:232.5]

object Exercise01 {def main(args: Array[String]): Unit = {/*假如還有97天放假,問:xx個星期零xx天*///1. 先定義一個變量,來保存天數//2. 使用 / 和 % 方法val days = 97printf("距離放假%d個星期零%d天\n", days / 7, days % 7)/*定義一個變量保存華氏溫度,華氏溫度轉換攝氏溫度的公式為:5/9*(華氏溫度-100),請求出華氏溫度對應的攝氏溫度思路就是定義變量保存攝氏溫度和華氏溫度,注意精度*/val huashi = 232.5//套用公式 [坑 ]val sheshi = 5.0 / 9 * (huashi - 100)println("攝氏溫度為" + sheshi.formatted("%.2f"))} }

2.關系運算符(比較運算符)

## 2.1基本介紹

關系運算符的結果都是Boolean型,也就是要么是true,要么是false
關系表達式 經常用在 if結構的條件中或循環結構的條件中
關系運算符的使用和java一樣

## 2.2關系運算符的一覽圖

## 2.3細節說明
1)關系運算符的結果都是Boolean型,也就是要么是true,要么是false。
2)關系運算符組成的表達式,我們稱為關系表達式。 a > b
3)比較運算符“==”不能誤寫成“=”
4)使用陷阱: 如果兩個浮點數進行比較,應當保證數據類型一致.

3邏輯運算符

4.賦值運算符


## 4.1案例
object BitDemo {
def main(args: Array[String]): Unit = {

val res = -3 & -2 //運算一定要知道. println("res=" + res)//-4

}
}

5.位運算符

6.運算符的特別說明

Scala不支持三目運算符 , 在Scala 中使用 if – else 的方式實現。

## 6.1小練習

案例1:求兩個數的最大值
案例2:求三個數的最大值

object MaxVal {def main(args: Array[String]): Unit = {/*案例1:求兩個數的最大值*/val n1 = 20val n2 = 40val n3 = 89//scala中,沒有三目,使用if -- else 替代//val res = n1 > n2 ? n1 : n2var max = if (n1 > n2) n1 else n2println("max=" + max)//肯 湯普森 =>google [go] 2000年 09=》 go =>替代java 《---》//求3個數的最大值max = if (max > n3) max else n3println("max=" + max)} }

6.2運算符優先級

  • 運算符有不同的優先級,所謂優先級就是表達式運算中的運算順序。如右表,上一行運算符總優先于下一行。

  • 只有單目運算符、賦值運算符是從右向左運算的。

  • 3)運算符的優先級和Java一樣。
    4)小結運算符的優先級
    () [] 可以直接提示優先級
    單目運算 (! ~)
    算術運算符.
    位移運算
    關系運算符(比較運算符)
    位運算
    邏輯運算
    賦值運算

    7.scala鍵盤輸入語句

    7.1介紹

    在編程中,需要接收用戶輸入的數據,就可以使用鍵盤輸入語句來獲取。InputDemo.scala

    7.2案例演示
    1)要求:可以從控制臺接收用戶信息,【姓名,年齡,薪水】。
    2)Scala的實現 【 import scala.io.StdIn】
    3)代碼

    //小技巧 //1. 如果要看一個類或者object的內容 scala.io.StdIn // StdIn //2. 如果要看一個包的內容, 把光標定位 io 上,輸入 ctrl+b import scala.io.StdInobject InputDemo {def main(args: Array[String]): Unit = {/*要求:可以從控制臺接收用戶信息,【姓名,年齡,薪水】。*/println("請輸入name")//直接調用StdIn 這個object的靜態方法。val name = StdIn.readLine()println("name=" + name)println("age")val age = StdIn.readInt()println("age=" + age)println("薪水")val sal = StdIn.readDouble()println("sal=" + sal)} }

    總結

    以上是生活随笔為你收集整理的Scala编程学习之三-运算符篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。