![Spark大數(shù)據(jù)分析 課件 3.3 Scala基礎(chǔ)語法_第1頁](http://file4.renrendoc.com/view12/M04/0B/20/wKhkGWdys9iAN_6-AACOyGx7zew723.jpg)
![Spark大數(shù)據(jù)分析 課件 3.3 Scala基礎(chǔ)語法_第2頁](http://file4.renrendoc.com/view12/M04/0B/20/wKhkGWdys9iAN_6-AACOyGx7zew7232.jpg)
![Spark大數(shù)據(jù)分析 課件 3.3 Scala基礎(chǔ)語法_第3頁](http://file4.renrendoc.com/view12/M04/0B/20/wKhkGWdys9iAN_6-AACOyGx7zew7233.jpg)
![Spark大數(shù)據(jù)分析 課件 3.3 Scala基礎(chǔ)語法_第4頁](http://file4.renrendoc.com/view12/M04/0B/20/wKhkGWdys9iAN_6-AACOyGx7zew7234.jpg)
![Spark大數(shù)據(jù)分析 課件 3.3 Scala基礎(chǔ)語法_第5頁](http://file4.renrendoc.com/view12/M04/0B/20/wKhkGWdys9iAN_6-AACOyGx7zew7235.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Scala基礎(chǔ)語法目錄/Contents01
Scala數(shù)據(jù)類型02Scala變量03方法與函數(shù)Scala數(shù)據(jù)類型01Scala數(shù)據(jù)類型Scala中沒有基本數(shù)據(jù)類型的概念,所有的類型都是對象。Scala的數(shù)據(jù)類型和Java是類似的,所有Java的基本類型在scala包中都有對應(yīng)的類,將Scala代碼編譯為Java字節(jié)碼時(shí),Scala編譯器將盡可能使用Java的基本類型,從而提供基本類型的性能優(yōu)勢。Scala數(shù)據(jù)類型
AnyVal:所有值類型的父類型。包含Byte、Short、Int、Long、Float、Double、Char、Boolean、Unit。其中Unit類型用來標(biāo)識過程,也就是沒有明確返回值的函數(shù)。由此可見,Unit類似于Java里的void。Unit只有一個(gè)實(shí)例,(),這個(gè)實(shí)例也沒有實(shí)質(zhì)的意義。
AnyRef:Scala里所有引用類(referenceclass)的基類。與其他語言稍微有點(diǎn)不同的是,Scala還定義了底類型,分別是Nothing、Null。
Nothing:在Scala的類層級的最低端;它是任何其他類型的子類型,可以賦值給任何其他類型,用于異常,表明不正常的返回。
Null:所有引用類型的子類型,而Nothing是所有類型的子類型。Null類只有一個(gè)實(shí)例對象,null,類似于Java中的null引用。null可以賦值給任意引用類型,但是不能賦值給值類型。Scala變量02Scala變量Scala有兩種變量,val和var。val類似于Java里的final變量。一旦初始化了,val就不能再被賦值。相反,var如同Java里面的非final變量,可以在它的生命周期中被多次賦值。即,常量或變量。變量:在程序運(yùn)行過程中其值可能發(fā)生改變的量叫做變量。如:時(shí)間,年齡。常量:在程序運(yùn)行過程中其值不會發(fā)生變化的量叫做常量。如:數(shù)值3,字符'A'。Scala變量在Scala中,聲明變量使用關(guān)鍵詞“var”,實(shí)例如下:varmyVar:String="Foo"varmyVar:String="Too"在這里,myVar使用關(guān)鍵字var聲明。這意味著它是一個(gè)可以改變值的變量,被稱為可變變量。下面是使用val關(guān)鍵字來定義變量的語法:valmyVal:String="Foo"這里,myVal是使用關(guān)鍵字val聲明。這意味著,它是不能改變的變量,這是不可變變量。1.變量聲明Scala變量2.變量類型引用在Scala中聲明變量和常量不一定要指明數(shù)據(jù)類型,在沒有指明數(shù)據(jù)類型的情況下,其數(shù)據(jù)類型是通過變量或常量的初始值推斷出來的。所以,如果在沒有指明數(shù)據(jù)類型的情況下聲明變量或常量必須要給出其初始值,否則將會報(bào)錯(cuò)。如下面的實(shí)例所示,myVar會被推斷為Int類型,myVal會被推斷為String類型。varmyVar=10valmyVal="Hello,Scala!"
方法與函數(shù)03Scala有方法與函數(shù),二者在語義上的區(qū)別很小。Scala中的方法跟Java的類似,方法是組成類的一部分,而函數(shù)是一個(gè)對象可以賦值給一個(gè)變量。換句話來說在類中定義的函數(shù)即是方法。Scala中使用val語句可以定義函數(shù),def語句定義方法。方法與函數(shù)方法與函數(shù)1.方法Scala方法聲明格式如下:deffunctionName([參數(shù)列表]):[returntype]如果你不寫等于號和方法主體,那么方法會被隱式聲明為抽象(abstract),包含它的類型于是也是一個(gè)抽象類型。Scala方法定義格式如下:deffunctionName([參數(shù)列表]):[returntype]={functionbodyreturn[expr]}方法定義由一個(gè)def關(guān)鍵字開始,緊接著是可選的參數(shù)列表,一個(gè)冒號:和方法的返回類型,一個(gè)等于號=,最后是方法的主體。以上代碼中returntype可以是任意合法的Scala數(shù)據(jù)類型。參數(shù)列表中的參數(shù)可以使用逗號分隔。如果方法沒有返回值,可以返回為Unit,這個(gè)類似于Java的void。2.函數(shù)在Scala中,由于使用def語句定義以及調(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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 拍賣行業(yè)媒體關(guān)系管理考核試卷
- 現(xiàn)代化農(nóng)業(yè)產(chǎn)業(yè)鏈重塑及經(jīng)濟(jì)分析
- 農(nóng)藥使用對土壤微生物多樣性的影響考核試卷
- 辦公設(shè)備維修工模擬練習(xí)題(含答案)
- 城際鐵路動(dòng)車組車門系統(tǒng)設(shè)計(jì)與應(yīng)用考核試卷
- 現(xiàn)代科技產(chǎn)品的網(wǎng)絡(luò)營銷策略研究
- 生產(chǎn)過程中的班組質(zhì)量控制策略
- 2025-2030年戒酒輔助療程設(shè)計(jì)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年地?zé)崮芘c礦產(chǎn)資源聯(lián)合行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年可穿戴血糖監(jiān)測與胰島素泵企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 項(xiàng)目負(fù)責(zé)人考試題庫含答案
- 設(shè)備安全操作培訓(xùn)
- 光伏發(fā)電項(xiàng)目屋面作業(yè)安全檢查表
- GB/T 7251.5-2017低壓成套開關(guān)設(shè)備和控制設(shè)備第5部分:公用電網(wǎng)電力配電成套設(shè)備
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
- 中考語文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- GB/T 13088-2006飼料中鉻的測定
- 經(jīng)顱磁刺激的基礎(chǔ)知識及臨床應(yīng)用參考教學(xué)課件
- 小學(xué)語文人教四年級上冊第四單元群文閱讀“神話故事之人物形象”PPT
- 鄉(xiāng)村振興匯報(bào)課件
- 紅色記憶模板課件
評論
0/150
提交評論