您好,登錄后才能下訂單哦!
上次小編給大家介紹了Scala語(yǔ)言的特點(diǎn),這次我們來(lái)看下Scala的基本語(yǔ)法。如果我們有Java基礎(chǔ),那么學(xué)習(xí)Scala也是一件比較輕松的事。
學(xué)習(xí)任何一門(mén)語(yǔ)言,我們先看的就是它的數(shù)據(jù)類型,Scala也不例外,我們先看看它的數(shù)據(jù)類型是什么樣的。Scala的數(shù)據(jù)類型首先分成了兩大類:AnyVal和AnyRef。AnyVal對(duì)應(yīng)Java中的基本數(shù)據(jù)類型,AnyRef對(duì)應(yīng)Java中的引用數(shù)據(jù)類型。AnyVal具體來(lái)說(shuō)又包括了7+2種:7種數(shù)值類型,Byte、Short、Int、Long、Float、Double、Char;2種非數(shù)值數(shù)據(jù)類型,Boolean 、Unit。其中的Unit表示空值,相當(dāng)于Java中的void。AnyRef包括Scala中的class、object以及Trait(特質(zhì))。AnyVal和AnyRef還有一個(gè)公共的父類,就是Any類型。
了解了Scala中的數(shù)據(jù)類型,我們?cè)倏聪耂cala中的變量。在前面我們講Scala的特點(diǎn)曾經(jīng)提到,Scala中聲明變量可以不指明具體數(shù)據(jù)類型,統(tǒng)一用var或val聲明。如:var i=3或val i=3。那么var和val的區(qū)別就是,var聲明的是變量,值可以再改變。而val聲明的相當(dāng)于常量,值在聲明后不可以再改變。所以,聲明時(shí)采用var還是val,要視具體情況而定了,如果沒(méi)有特別要求,通常采用val聲明。
接下來(lái),我們?cè)倏纯碨cala中的條件表達(dá)式。條件語(yǔ)句類似于Java語(yǔ)言,語(yǔ)法格式如下:
但有幾點(diǎn)需要注意的是:
條件表達(dá)式都是有返回值的,可以賦值給變量。如:
上面的條件語(yǔ)句,如果賦值給變量,變量的類型就只能采用String和Int的最小父類,就是Any類型了。
最后,我們?cè)賮?lái)看看Scala中的循環(huán)語(yǔ)句。循環(huán)語(yǔ)句有for循環(huán)和while/do while循環(huán)。使用循環(huán)可以方便地遍歷數(shù)組、集合或元組。
Scala中for循環(huán)有很多格式。如下面所示,(假定arr是一個(gè)數(shù)組):
1)增強(qiáng)for循環(huán)
2)使用索引的for循環(huán)
3)帶守衛(wèi)的for循環(huán)
4)加yield推導(dǎo)式的for循環(huán)
此時(shí),會(huì)生成一個(gè)新的數(shù)組,數(shù)組的每個(gè)元素值比原先大5。
Scala中的while/do while循環(huán),跟Java沒(méi)太大區(qū)別,在此我們就不贅述了。要注意的就是Scala中的循環(huán)是沒(méi)有break或continue語(yǔ)句的,我們需要加條件實(shí)現(xiàn)類似的功能。
好了,這次Scala基本語(yǔ)法我們就介紹到這了,希望能幫助您在Scala學(xué)習(xí)中順利揚(yáng)帆起航。
更多的知識(shí)大家可以點(diǎn)擊http://heze.offcn.com/, 希望能給你帶來(lái)幫助!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。