日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
十二步學(xué)會(huì)Scala(1):從下載安裝到定義方法

Scala教程現(xiàn)在網(wǎng)絡(luò)上不算特別多,但也不少了。alanwu撰寫(xiě)本篇的目的在于提供一個(gè)Scala快速入門(mén),這樣大家可以先很快的上手,以后再慢慢熟悉這門(mén)語(yǔ)言。

成都創(chuàng)新互聯(lián)公司專(zhuān)注于將樂(lè)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城建設(shè)。將樂(lè)網(wǎng)站建設(shè)公司,為將樂(lè)等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì)網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

原文地址:AlanWu的博客 | 編輯推薦:Scala編程語(yǔ)言專(zhuān)題

本Scala快速入門(mén)參考了《First Steps to Scala》的內(nèi)容。下面開(kāi)始:

我先大致根據(jù)這篇文章寫(xiě)一些自己的理解,讓想學(xué)Scala的同學(xué)有個(gè)感性認(rèn)識(shí)。

讀者對(duì)象:有Java經(jīng)驗(yàn)的工程師

第一步:下載和安裝Scala

在官網(wǎng)下載并接壓縮,像安裝ANT或MAVEN之類(lèi)的那樣,把解壓后的bin路徑加到path里面去就可以了。

在命令行模式下輸入Scala

cmd 寫(xiě)道

 
 
 
  1. C:\Documents and Settings\19002850>scala  
  2. Welcome to Scala version 2.7.5.final (Java HotSpot(TM) Client VM, Java 1.6.0_13)  
  3. .  
  4. Type in expressions to have them evaluated.  
  5. Type :help for more information.  
  6.  
  7. scala>  
  8.  

如果你看到scala提示符,那么恭喜你,說(shuō)明Scala安裝成功了。

第二步:學(xué)習(xí)使用Scala解釋器(interpreter)

Scala也算是解釋性語(yǔ)言,所以你可以直接與解釋器交互。

cmd 寫(xiě)道

 
 
 
  1. scala> 1 + 3 
  2. res0: Int = 4 
  3.  
  4. scala>  
  5.  

直接輸入 1 + 3 ,返回res0: Int = 4

res0表示變量名, Int表示類(lèi)型, 4是值。

Scala的類(lèi)型定義在冒號(hào)后面,和java放在前面不同,和UML類(lèi)圖的屬性定義方式一樣。

Scala是強(qiáng)類(lèi)型語(yǔ)言,必須要定義類(lèi)型,但Scala編譯器足夠聰明,他能夠根據(jù)你的值幫你定義變量的類(lèi)型。

這里res0是個(gè)變量名,所以你可以接下來(lái)再使用。

cmd 寫(xiě)道

 
 
 
  1. scala> res0 * 3 
  2. res1: Int = 12 
  3.  
  4. scala>  
  5.  

解釋器又給了一個(gè)變量res1。

Scala的所有變量都是對(duì)象,所有操作都是方法。

所以*也是方法,你可以這樣調(diào)用:

cmd 寫(xiě)道

 
 
 
  1. scala> res0.*(res1)  
  2. res2: Int = 48 
  3.  
  4. scala>  
  5.  

這個(gè)和java很不同,java的int不是對(duì)象。

是不是有點(diǎn)繞進(jìn)去了,那么來(lái)個(gè)hello world宣告第二步結(jié)束。

cmd 寫(xiě)道

 
 
 
  1. scala> println("Hello World!")  
  2. Hello World!  
  3.  
  4. scala>  
  5.  

這個(gè)println是個(gè)方法,因?yàn)镾cala有預(yù)定義導(dǎo)入一些類(lèi),所以可以直接使用。

因?yàn)镾cala更新很快,每個(gè)版本的Scala的解釋器可能都有一些不同,所以如果返回的變量名或有其他有一點(diǎn)不一樣,請(qǐng)不要太奇怪。

第三步: 定義變量

寫(xiě)程序最入門(mén)就是定義變量和方法,前面的變量由Scala解釋器自動(dòng)定義了,這一步自己定義變量。

Scala有兩種類(lèi)型的變量,val 和var 。 val 變量的值只能初始化一次,再次賦值就發(fā)生錯(cuò)誤,var就和java的變量相同,可以隨時(shí)修改。

val 是函數(shù)式編程的風(fēng)格,變量一旦賦值就不要再做修改,從程序上將有很多好處,但有時(shí)候做起來(lái)會(huì)比較繞。

cmd 寫(xiě)道

 
 
 
  1. scala> val msg = "Hello World!" 
  2. msg: java.lang.String = Hello World!  
  3.  
  4. scala> msg = "Hello JavaEye" 
  5. : 5: error: reassignment to val  
  6. msg = "Hello JavaEye" 
  7. ^  
  8.  
  9. scala>  
  10.  

Scala是強(qiáng)類(lèi)型語(yǔ)言,每個(gè)變量都需要類(lèi)型。但如果你賦給變量的有足夠明細(xì)的類(lèi)型提示,那么編譯器會(huì)幫你把類(lèi)型加上去。

把剛才的msg打印出來(lái)

cmd 寫(xiě)道

 
 
 
  1. scala> println(msg)  
  2. Hello World!  
  3.  
  4. scala>  
  5.  

再來(lái)看看var ,比較好理解。

cmd 寫(xiě)道

 
 
 
  1. scala> var greeting: String = "Hello World!" 
  2. greeting: String = Hello World!  
  3.  
  4. scala> println(greeting)  
  5. Hello World!  
  6.  
  7. scala> greeting = "Hello World!" 
  8. greeting: String = Hello World!  
  9.  
  10. scala> println(greeting)  
  11. Hello World!  
  12.  
  13. scala>  
  14.  

記住,Scala有兩種變量標(biāo)識(shí),和java不一樣。

第四步: 定義一些方法

以前程序就是變量和方法組成吧,所以變量和方法是最基礎(chǔ)的東西。

我們定義一個(gè)取最大值的方法max

cmd 寫(xiě)道

 
 
 
  1. scala> def max(x: Int, y: Int): Int = if(x < y) y else x  
  2. max: (Int,Int)Int  
  3.  

定義變量用val和var,定義方法用def 。

這個(gè)max方法有方法參數(shù),返回值類(lèi)型,方法體。麻雀雖小,五臟俱全了。

Scala的變量表示是變量名: 類(lèi)型 ,這一點(diǎn)和java甚至其他語(yǔ)言都很不同,和UML風(fēng)格比較接近。

調(diào)用方法很簡(jiǎn)單:

cmd 寫(xiě)道

 
 
 
  1. scala> max(3,8)  
  2. res9: Int = 8 
  3.  

Scala中方法也是一個(gè)類(lèi)型,或者說(shuō)是一個(gè)值,成為First Class。

所以可以把max看成是個(gè)變量名,(Int,Int)Int是它的類(lèi)型。他可以作為參數(shù)傳遞,也可以賦值給其他變量。

cmd 寫(xiě)道

 
 
 
  1. scala> val m = max _  
  2. m: (Int, Int) => Int =   

將max賦值給m, 請(qǐng)注意max后面帶的下劃線(xiàn),不要忘記寫(xiě)了。
 
調(diào)用m

cmd 寫(xiě)道

 
 
 
  1. scala> m(1,3)  
  2. res11: Int = 3 
  3.  
  4. scala>  
  5.  

在初學(xué)的時(shí)候就講這個(gè)好像有點(diǎn)急進(jìn)了,不太容易理解,不過(guò)沒(méi)關(guān)系,先了解一下總比看到后莫名其妙好。

OK,本篇到此結(jié)束。本Scala快速入門(mén)系列計(jì)劃通過(guò)十二步完成,現(xiàn)在進(jìn)展到了第四步。后續(xù)內(nèi)容敬請(qǐng)期待!


名稱(chēng)欄目:十二步學(xué)會(huì)Scala(1):從下載安裝到定義方法
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/dpipech.html