91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala基礎語法介紹

發布時間:2020-06-29 22:20:02 來源:網絡 閱讀:429 作者:原生zzy 欄目:開發技術

1.變量的定義

注意:在scala中沒有static的概念,在object這個關鍵字修飾的類中所有的方法和屬性都是static的。這里的object類叫做伴生類,目前不涉及。

例:

object Test01{
    def main(args: Array[String]): Unit = {
        //使用val定義的變量是不可變的,相當于java中的final修飾的
        val v1=1
        //使用var定義的變量的值是可變的,在scala中鼓勵使用的是val
        var v2=2
        //在定義變量的時候,也可以在變量名前提供類型,如何不提供默認的是類型推斷
        val v3:String ="zzy"  //自定義類型
        val v4="jj"    //類型推斷
    }
}

2.scala的數據類型

scala和java一樣有7中數據類型:byte、char、short、int、long、float、double和boolean,但是無包裝類型,還有String。
Scala基礎語法介紹
例:

object Test01 {
    def main(args: Array[String]): Unit = {
        val v1: Int = 1
        val v2: Double = 1.1
        val v3: Float = 1.1f
        val v4: Char = 'c'
        val v5: Boolean = true
        val v6: String = "zzy"
        val va7:String="""aaa \t\t0"""  //三個引號表示特殊字符不轉義
        val va8: Byte = 0

        //注意,如果在上面確定變量的數據類型,在下面則不能修改
        val value1=1
        value1="aaa" //這里會報出語法錯誤
    }
}

Scala基礎語法介紹
如以上的圖所示:
Any:是所有類的父類,包括值類型AnyVal和引用類型AnyRef
AnyVal :是所有值類型的父類,包括 Int,Double,Boolean,Unit 等等
AnyRef :是所有引用類型的父類,包括 Null
Null :是所有引用類型的子類, Null 也只有一個實例,是 null,相當于 java 中的 null,能賦值給任何引用類型變量,不能賦值給值類型變量
Nothing : Nothing
Unit :類型只有一個實例,是(),相當于 java 中的 void,沒有任何的實質意義(在定義方法的返回值的時候使用)

3.scala的基本操作符

算數操作符:+ - * / %
關系運算符:> >= <= == !=
邏輯運算:&& || !
位運算:& | ^ >> << >>>
對象比較:1==1 “zy”==“zy” (判斷值相等)

4. 關鍵字

Scala基礎語法介紹

5.控制流程語句

  (1) 選擇結構

object Test01 {
    def main(args: Array[String]): Unit = {
        val v1=5
        //有返回值的判斷語句(if-else)
        val result1=if(v1>5)"true" else "false"
        //返回值為()的判斷語句(if-else if -else)
        val result2=if(v1>3) "true" else if(v1>5)  "false" else ()
    }
}

  (2) 塊表達式

object Test01 {
    def main(args: Array[String]): Unit = {
        /**
          * 塊中的最后一個表達式的值就是這個快的返回值。
          *  就算是賦值表達式,也有返回值,是空,Unit。
          */
        val x=5
        val y=10

        val result1={
            if(x>y){
                "true"
            }else{
                "false"
            }
        }
        val result2={
            2+2
        }
    }
}

  (3) 循環語句

for:
object Test01 {
    def main(args: Array[String]): Unit = {
        //for 循環
        //1 to 10
        for(i<- 1 to 10){
            println(i) //打印1 ~ 10
        }
        //1 until 10
        for(i<- 1 until 10){
            println(i) //打印1 ~ 9
        }
        //遍歷可迭代對象
        val arrs=Array("aa","bb","cc")
        for(item <- arrs){
            println(item)
        }
        //在遍歷是對每一個元素進行操作
        var array:Array[Int]=Array(1,2,3,4)
        //將數組中的每一個元素都*5
        val collect=for(i<- array) yield i*5
    }
}
注意:to 和 until 也是可以有第二個參數的,比如 1 to (10,3) 第二個參數表示步長

while:

var i=1
        while(i<=9){
            println(i)
            //i++ //注意這兩句話是錯誤的,在scala中沒有++ --
            i+=1
        }
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浮山县| 陕西省| 绵竹市| 建德市| 全州县| 宜兰市| 拜城县| 台南市| 彭州市| 江阴市| 山阳县| 镇雄县| 电白县| 墨玉县| 长岭县| 青冈县| 宝坻区| 义乌市| 垫江县| 镇坪县| 抚远县| 龙门县| 舟曲县| 五台县| 吴江市| 乐清市| 灵丘县| 望都县| 天津市| 洪洞县| 洪雅县| 河源市| 大石桥市| 洛阳市| 尉氏县| 张家界市| 金溪县| 定远县| 中卫市| 咸丰县| 徐闻县|