自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Scala入門介紹:Hello World

開發(fā) 后端
本文呈現(xiàn)了了Scala的Hello World,與Java的Hello World寫法做了一些比較。總的來說,Scala的語法和Java還是存在很大不同,在本文的Scala入門中可見一斑。

Scala語言的名稱來自于“可伸展的語言”,Scala 是一種函數(shù)對象混合的語言。它可以運行在Java 平臺上,Scala程序會被編譯為JVM的字節(jié)碼。它們的執(zhí)行期性能通常與Java程序一致。Scala代碼可以調(diào)用Java方法,訪問Java字段,繼承自Java類和實現(xiàn)Java接口。

51CTO編輯推薦:Scala編程語言專題

下載并安裝 Scala

可以從 Scala 主頁: http://www.scala-lang.org/ 下載 Scala 包,截止到目前為止,***的發(fā)行版是 2.7.5-final,同時也提供了IDE的支持插件,Eclipse的Scala的插件下載地址為:http://www.scala-lang.org/node/94,也可以通過Eclipse 的Update Manager 的方式下載:http://www.scala-lang.org/scala-eclipse-plugin

將Scala的下載壓縮包解壓,比如解壓地址是:C:\Program Files\Java\scala-2.7.5,然后設(shè)置環(huán)境變量,將SCALA_HOME 設(shè)置為:C:\Program Files\Java\scala-2.7.5,將SCALA_HOME\bin 添加到Path環(huán)境變量中,打開命令行輸入:scalac -version 測試,如果能夠正確輸入版本信息就OK了。

開始認(rèn)識Scala

在計算機(jī)科學(xué)領(lǐng)域大家都達(dá)成了一個默契,通常都是使用“HelloWorld" 作為演示程序,這里也不例外,Scala的語法和Java還是存在很大不同,就像國外的一位大牛批判Scala是"為了不同而不同",為何不能像Groovy那樣采用和Java接近的語法,如果你是從JDK 轉(zhuǎn)到 Scala,學(xué)習(xí)Scala 的感覺可能會很不同,也可能有排斥它的情緒,其實,通常有這種感覺可能是因為對它不熟悉,如果深入了解背后的設(shè)計意圖,可能會改變你現(xiàn)在的觀點。

下面來看一下Java中的 HelloWorld寫法:

  1. public class HelloWorld {  
  2.    public static void main(String[] args) {  
  3.        System.out.println("HelloWorld");  
  4.    }  
  5.  }  

Scala的HelloWorld :

  1. object HelloWorld {  
  2.     def main(args: Array[String]) {  
  3.        System.out.println("HelloWorld");  
  4.     }  
  5.  } 

這里的Scala的聲明類的方式和Java不同,Scala通過object來定義,在方法塊中使用“def“開始函數(shù)的定義,接著聲明函數(shù)名,在括號中指定參數(shù)列表,參數(shù)的聲明方式是參數(shù)名:參數(shù)的類型,方法的返回值類型是在函數(shù)名后的括號后面指定的,比如你聲明一個無參數(shù)的A 方法,返回值類型為Int可以這樣寫:def A():Int = {//方法內(nèi)容}; 上面的main函數(shù)顯示的指定返回值,系統(tǒng)默認(rèn)返回值類型為Unit,相當(dāng)于Java中的Void,不過Unit返回類型在***的版本中已經(jīng)置為@Deprecated 了,也就是說不用顯示的指定返回類型Unit了,這樣方法就簡潔了許多。

【相關(guān)閱讀】

  1. Scala初學(xué)者學(xué)習(xí)資料:main(String[])
  2. 影響Scala語言設(shè)計的因素列表
  3. 喜歡Scala編程的四個理由
  4. Scala融合面向?qū)ο蠛秃瘮?shù)概念的方法
  5. Scala的語言特性——可伸展的語言
責(zé)任編輯:yangsai 來源: BlogJava
相關(guān)推薦

2012-02-20 14:26:48

JavaPlay Framew

2024-04-11 13:13:27

2010-08-31 14:01:23

iPhone

2014-12-19 10:07:10

C

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2009-09-16 17:15:19

OSGi Bundle

2009-08-11 10:32:23

什么是Groovy

2023-01-06 08:18:44

2023-09-04 07:30:03

Wasm匯編語言

2011-06-08 14:39:06

Qt 教程

2021-02-01 17:29:19

FlutterHello World開發(fā)

2021-11-26 08:22:01

Java動態(tài)開發(fā)

2009-08-14 16:54:19

C# Hello Wo

2014-04-11 11:36:42

NDKAndroid開發(fā)終端

2011-08-05 09:48:46

iPhone Interface

2023-05-23 08:01:10

Netty網(wǎng)絡(luò)通信

2009-06-11 14:00:34

jBPM用戶指南jBPM范例

2021-03-30 13:48:47

WebAssemblyWeb瀏覽器編程語言

2015-10-27 09:47:11

2013-12-12 17:30:03

Lua例子
點贊
收藏

51CTO技術(shù)棧公眾號