版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Scala基礎(chǔ)語(yǔ)法目錄/Contents01
Scala數(shù)據(jù)類型02Scala變量03方法與函數(shù)Scala數(shù)據(jù)類型01Scala數(shù)據(jù)類型Scala中沒有基本數(shù)據(jù)類型的概念,所有的類型都是對(duì)象。Scala的數(shù)據(jù)類型和Java是類似的,所有Java的基本類型在scala包中都有對(duì)應(yīng)的類,將Scala代碼編譯為Java字節(jié)碼時(shí),Scala編譯器將盡可能使用Java的基本類型,從而提供基本類型的性能優(yōu)勢(shì)。Scala數(shù)據(jù)類型
AnyVal:所有值類型的父類型。包含Byte、Short、Int、Long、Float、Double、Char、Boolean、Unit。其中Unit類型用來標(biāo)識(shí)過程,也就是沒有明確返回值的函數(shù)。由此可見,Unit類似于Java里的void。Unit只有一個(gè)實(shí)例,(),這個(gè)實(shí)例也沒有實(shí)質(zhì)的意義。
AnyRef:Scala里所有引用類(referenceclass)的基類。與其他語(yǔ)言稍微有點(diǎn)不同的是,Scala還定義了底類型,分別是Nothing、Null。
Nothing:在Scala的類層級(jí)的最低端;它是任何其他類型的子類型,可以賦值給任何其他類型,用于異常,表明不正常的返回。
Null:所有引用類型的子類型,而Nothing是所有類型的子類型。Null類只有一個(gè)實(shí)例對(duì)象,null,類似于Java中的null引用。null可以賦值給任意引用類型,但是不能賦值給值類型。Scala變量02Scala變量Scala有兩種變量,val和var。val類似于Java里的final變量。一旦初始化了,val就不能再被賦值。相反,var如同Java里面的非final變量,可以在它的生命周期中被多次賦值。即,常量或變量。變量:在程序運(yùn)行過程中其值可能發(fā)生改變的量叫做變量。如:時(shí)間,年齡。常量:在程序運(yùn)行過程中其值不會(huì)發(fā)生變化的量叫做常量。如:數(shù)值3,字符'A'。Scala變量在Scala中,聲明變量使用關(guān)鍵詞“var”,實(shí)例如下:varmyVar:String="Foo"varmyVar:String="Too"在這里,myVar使用關(guān)鍵字var聲明。這意味著它是一個(gè)可以改變值的變量,被稱為可變變量。下面是使用val關(guān)鍵字來定義變量的語(yǔ)法:valmyVal:String="Foo"這里,myVal是使用關(guān)鍵字val聲明。這意味著,它是不能改變的變量,這是不可變變量。1.變量聲明Scala變量2.變量類型引用在Scala中聲明變量和常量不一定要指明數(shù)據(jù)類型,在沒有指明數(shù)據(jù)類型的情況下,其數(shù)據(jù)類型是通過變量或常量的初始值推斷出來的。所以,如果在沒有指明數(shù)據(jù)類型的情況下聲明變量或常量必須要給出其初始值,否則將會(huì)報(bào)錯(cuò)。如下面的實(shí)例所示,myVar會(huì)被推斷為Int類型,myVal會(huì)被推斷為String類型。varmyVar=10valmyVal="Hello,Scala!"
方法與函數(shù)03Scala有方法與函數(shù),二者在語(yǔ)義上的區(qū)別很小。Scala中的方法跟Java的類似,方法是組成類的一部分,而函數(shù)是一個(gè)對(duì)象可以賦值給一個(gè)變量。換句話來說在類中定義的函數(shù)即是方法。Scala中使用val語(yǔ)句可以定義函數(shù),def語(yǔ)句定義方法。方法與函數(shù)方法與函數(shù)1.方法Scala方法聲明格式如下:deffunctionName([參數(shù)列表]):[returntype]如果你不寫等于號(hào)和方法主體,那么方法會(huì)被隱式聲明為抽象(abstract),包含它的類型于是也是一個(gè)抽象類型。Scala方法定義格式如下:deffunctionName([參數(shù)列表]):[returntype]={functionbodyreturn[expr]}方法定義由一個(gè)def關(guān)鍵字開始,緊接著是可選的參數(shù)列表,一個(gè)冒號(hào):和方法的返回類型,一個(gè)等于號(hào)=,最后是方法的主體。以上代碼中returntype可以是任意合法的Scala數(shù)據(jù)類型。參數(shù)列表中的參數(shù)可以使用逗號(hào)分隔。如果方法沒有返回值,可以返回為Unit,這個(gè)類似于Java的void。2.函數(shù)在Scala中,由于使用def語(yǔ)句定義以及調(diào)用函數(shù)的格式均與方法一樣,因此,這里不做贅述。然而,Scala函數(shù)與Scala方法也是有區(qū)別的。具體如下:(1) 函數(shù)可作為一個(gè)參數(shù)傳入到方法中,而方法不行。(2) 在Scala中無法直接操作方法,如果要操作方法,必須先將其轉(zhuǎn)換成函數(shù)。(3) 函數(shù)必須要有參數(shù)列表,而方法可以沒有參數(shù)列表valfunctionName([參數(shù)列表]):[returntype]={functionbodyreturn[expr]}方法與函數(shù)方法與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年安徽黃山屯溪區(qū)部分事業(yè)單位招聘30人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省廣元朝天區(qū)考試招聘事業(yè)單位人員37人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川涼山越西縣事業(yè)單位招聘3人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年遼寧文化廳事業(yè)單位招聘擬聘人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年浙江南太湖控股集團(tuán)下屬子公司湖州綠金發(fā)展中心限公司招聘2人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年江蘇無錫市市屬國(guó)企業(yè)招考管理人員80人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省綿陽(yáng)市招才引智第三批招聘1339人(重慶場(chǎng))歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川內(nèi)江威遠(yuǎn)縣事業(yè)單位招聘79人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025三季度四川經(jīng)準(zhǔn)檢驗(yàn)檢測(cè)集團(tuán)股份限公司招聘48人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 汽車贈(zèng)與合同樣本
- 臨床研究的重要性與培訓(xùn)推動(dòng)醫(yī)療行業(yè)不斷創(chuàng)新
- 國(guó)家開放大學(xué)2023年7月期末統(tǒng)一試《11132衛(wèi)生管理》試題及答案-開放本科
- 戴煒棟語(yǔ)言學(xué)練習(xí)題
- 英漢互譯單詞練習(xí)打印紙
- 消防設(shè)備電源監(jiān)控系統(tǒng)調(diào)試報(bào)告表
- 改革開放簡(jiǎn)史智慧樹知到課后章節(jié)答案2023年下北方工業(yè)大學(xué)
- 單側(cè)甲狀腺次全切除術(shù)后護(hù)理查房
- 新時(shí)代高職英語(yǔ)(基礎(chǔ)模塊)2 Unit3
- 全州疫苗接種與免疫規(guī)劃培訓(xùn)班講話稿
- 詩(shī)化小說示范課
- 房地產(chǎn)運(yùn)營(yíng)管理工作思路
評(píng)論
0/150
提交評(píng)論