成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十二步學會Scala(1):從下載安裝到定義方法

開發 后端
本篇是一個Scala快速入門,旨在step by step幫助讀者快速完成Scala的上手步驟。全文計劃分為十二步驟,本文是前四個,介紹了從下載到定義方法的內容。

Scala教程現在網絡上不算特別多,但也不少了。alanwu撰寫本篇的目的在于提供一個Scala快速入門,這樣大家可以先很快的上手,以后再慢慢熟悉這門語言。

原文地址:AlanWu的博客 | 51CTO編輯推薦:Scala編程語言專題

本Scala快速入門參考了《First Steps to Scala》的內容。下面開始:

我先大致根據這篇文章寫一些自己的理解,讓想學Scala的同學有個感性認識。

讀者對象:有Java經驗的工程師

第一步:下載和安裝Scala

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

在命令行模式下輸入Scala

cmd 寫道

  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提示符,那么恭喜你,說明Scala安裝成功了。

第二步:學習使用Scala解釋器(interpreter)

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

cmd 寫道

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

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

res0表示變量名, Int表示類型, 4是值。

Scala的類型定義在冒號后面,和java放在前面不同,和UML類圖的屬性定義方式一樣。

Scala是強類型語言,必須要定義類型,但Scala編譯器足夠聰明,他能夠根據你的值幫你定義變量的類型。

這里res0是個變量名,所以你可以接下來再使用。

cmd 寫道

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

解釋器又給了一個變量res1。

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

所以*也是方法,你可以這樣調用:

cmd 寫道

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

這個和java很不同,java的int不是對象。

是不是有點繞進去了,那么來個hello world宣告第二步結束。

cmd 寫道

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

這個println是個方法,因為Scala有預定義導入一些類,所以可以直接使用。

因為Scala更新很快,每個版本的Scala的解釋器可能都有一些不同,所以如果返回的變量名或有其他有一點不一樣,請不要太奇怪。

第三步: 定義變量

寫程序最入門就是定義變量和方法,前面的變量由Scala解釋器自動定義了,這一步自己定義變量。

Scala有兩種類型的變量,val 和var 。 val 變量的值只能初始化一次,再次賦值就發生錯誤,var就和java的變量相同,可以隨時修改。

val 是函數式編程的風格,變量一旦賦值就不要再做修改,從程序上將有很多好處,但有時候做起來會比較繞。

cmd 寫道

  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是強類型語言,每個變量都需要類型。但如果你賦給變量的有足夠明細的類型提示,那么編譯器會幫你把類型加上去。

把剛才的msg打印出來

cmd 寫道

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

再來看看var ,比較好理解。

cmd 寫道

  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有兩種變量標識,和java不一樣。

第四步: 定義一些方法

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

我們定義一個取最大值的方法max

cmd 寫道

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

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

這個max方法有方法參數,返回值類型,方法體。麻雀雖小,五臟俱全了。

Scala的變量表示是變量名: 類型 ,這一點和java甚至其他語言都很不同,和UML風格比較接近。

調用方法很簡單:

cmd 寫道

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

Scala中方法也是一個類型,或者說是一個值,成為First Class。

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

cmd 寫道

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

將max賦值給m, 請注意max后面帶的下劃線,不要忘記寫了。
 
調用m

cmd 寫道

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

在初學的時候就講這個好像有點急進了,不太容易理解,不過沒關系,先了解一下總比看到后莫名其妙好。

OK,本篇到此結束。本Scala快速入門系列計劃通過十二步完成,現在進展到了第四步。后續內容敬請期待!

【編輯推薦】

  1. Scala講座:面向對象和函數式的特點總結
  2. 萬物皆對象:介紹Scala對象
  3. Scala的泛型:最強大的特性
  4. Scala的Trait:可以包含代碼的接口
  5. Scala的模式匹配和條件類
責任編輯:yangsai 來源: JavaEye博客
相關推薦

2009-10-19 11:26:08

Scala循環數組

2010-05-07 15:32:12

SharePoint

2013-11-26 10:16:09

FedoraFedora 20 B

2019-04-30 10:27:56

UbuntuLinuxDisco Dingo

2009-03-11 13:32:12

簡歷求職應聘

2010-06-07 16:37:30

rsync 下載

2009-12-01 10:39:59

Visual Stud

2009-07-22 07:53:00

Scala無參數方法

2009-07-21 17:21:57

Scala定義函數

2018-01-19 10:59:09

Linux安裝卸載

2009-12-03 14:07:55

下載安裝ftp

2009-07-20 16:56:51

Scala類的定義

2010-01-06 11:03:54

Ubuntu常用軟件

2011-06-23 09:13:59

Qt SDK Creator

2009-12-28 12:31:23

Fedora Core

2011-05-12 08:49:58

iPhone SDKXcode

2009-11-25 15:58:50

無線路由安裝

2022-05-21 17:28:01

HANA內存數據庫

2010-03-01 15:55:00

Fedora Eva

2009-07-10 16:20:48

Ubuntu安裝JDKUbuntu 7.10
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品自拍一区 | 久久九九99| av网站免费观看 | 免费黄色录像片 | 成av在线 | 国产精品日韩一区 | 91国在线 | 一本大道久久a久久精二百 国产成人免费在线 | 成人av一区 | 日韩在线视频一区 | 亚洲 欧美 另类 综合 偷拍 | 成人av免费在线观看 | av在线伊人| 久久久久久国产精品免费免费狐狸 | aacc678成免费人电影网站 | 国产在线观看 | 国产精品99久久久久久动医院 | 亚洲一区二区三区免费在线观看 | 色婷婷亚洲一区二区三区 | 欧美精品乱码久久久久久按摩 | 三级视频在线观看电影 | 国产成人精品999在线观看 | 91高清免费观看 | 一区二区三区国产好 | 国产精品久久久久久福利一牛影视 | 国产精品一区在线观看你懂的 | 久久久久久国模大尺度人体 | 欧美日韩在线视频一区 | 亚洲一区二区在线视频 | 成人免费视频网址 | 一区精品视频在线观看 | 欧美在线二区 | 成人免费看黄网站在线观看 | 日本三级网址 | 国产女人第一次做爰毛片 | 天天操天天天干 | 韩国理论电影在线 | 成人国产在线视频 | 国产电影一区 | 超碰免费观看 | 日韩中文一区二区 |