1. 程式人生 > >scala(3)-編寫第一個Hello world!

scala(3)-編寫第一個Hello world!

上一章我們介紹瞭然後使用直譯器來編寫簡單的Scala程式碼,下面我們就介紹下如何使用eclipse編寫一個Hello word!

開啟eclipse.新建一個scala Project.第一次新建的話應該在other裡面,名稱隨便,然後新建一個scala Object ,名稱叫"HelloWorld".

scala和Java不同,檔案的名稱不必和Object的名稱相同.

程式碼如下:

[java] view plain copy  print?
  1. package com.scala.demo  
  2. object HelloWorld {  
  3.   def main(args:Array[String])  
  4.   {  
  5.     println("Hello world!")  
  6.   }  
  7. }  
執行之後就會顯示:

Hello world!
     看到了吧!很簡單,裡面看不懂的地方在上一章裡面都有牽涉到,在看看上一章吧!

在此補充下:

       scala由於是相容的,所以scala和java是可以互相訪問的,

       Scala的一個強項在於可以很簡單的於已有的Java程式碼互動,所有java.lang中的類都已經被自動匯入了,而其他的類需要顯式宣告匯入。
來看看演示程式碼吧。我們希望對日期進行格式化處理,比如說用法國的格式。
Java類庫定義了一系列很有用的類,比如Date和DateFormat。由於Scala於Java能夠進行很好的互動,我們不需要在Scala類庫中實現等效的程式碼,而只需直接吧Java的相關類匯入就可以了

[java] view plain copy  print?
  1. package com.scala.demo  
  2. import java.util.{Date, Locale}   
  3. import java.text.DateFormat  
  4. import java.text.DateFormat._  
  5. object LocalDate {  
  6.   def main(args:Array[String])  
  7.   {  
  8.       val now=new Date  
  9.       val df=getDateInstance(LONG,Locale.FRANCE)  
  10.       println(df format now )  //==df.format(now) ...奇怪的語法
  11.   }  
  12. }  
       Scala的import語句看上去與Java的非常相似,但是它更加強大。你可以使用大括號來匯入同一個包裡的多個類,就像上面程式碼中第一行所做的那樣。另一個不同點是當匯入一個包中所有的類或者符號時,你應該使用下劃線(_)而不是星號(*)。這是由於星號在Scala中是一個有效的識別符號(例如作為方法名稱)。這個例子我們稍後會遇到。
       第三行的import語句匯入了DataFormat類中的所有成員,這使得靜態方法getDateInstance和靜態變數LONG可以被直接引用。
在main函式中,我們首先建立了一個Java的Date例項。這個例項預設會包含當前時間。接下來我們一個使用剛才匯入的靜態函式getDateInstance定義了日期格式。最後我們將使用DataFotmat格式化好的日期列印了出來。
最後一行程式碼顯示了Scala的一個有趣的語法:只有一個引數的函式可以使用下面這樣的表示式來表示:
df format now
其實就是下面的這個冗長的表示式的簡潔寫法
df.format(now)
這看起來是一個語法細節,但是它導致一個重要的後果,我們將在下一節進行說明。
另外,我們還應當注意到Scala中可以直接繼承或者實現Java中的介面和類。
看過了上面的Scala例子以及Scala與Java互動的方式,下文將介紹Scala的物件。