當前位置:
首頁 >
scala初学之helloWorld
發布時間:2025/3/15
21
豆豆
生活随笔
收集整理的這篇文章主要介紹了
scala初学之helloWorld
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? 特此聲明,本文中的代碼 部分或全部來源王家林的scala教程;雖然王家林一直被大家所詬病,而且也無法確定這些scala的程序代碼是不是他的。但是作為一個初學者覺得就算代碼不是他的,他只是拿過來翻譯一次,看他的視頻也是能了解一些東西的;但是很多東西講的確實欠缺;所以在學習的過程中把自己的很多思考注釋到了他的代碼中。一是當作自己的備忘,二也希望能夠給大家帶來一些些的幫助。
?
?進入正文:
?
/*首先認識了object前綴,知道它的作用之一就是所有的main方法都必須放在object中*/ object HelloScala {/*def 在scala中用來定義一個函數* 在object中定義的方法可以分成下面幾種情況* 首先他們有一個共同的特點就是在scala的object中所有的方法都是靜態的(可以通過Oject.xxx來調用),對應與java的static* 下面說對應的幾種情況* 1. def xxx = {} 在object中對應與java的 public static 返回值 xxx(Type value){}* 返回值在scala中可以省略,參數沒有的話括號和參數都可以省略,一會說main方法的時候會看到一個方法的完整樣子。(scala的難處就在于好多好多的地方可以省略··簡寫)* 同時在scala中沒有public關鍵字,在java中什么修飾符也不加也就是沒有(public 。 protected 。 private)的話默認是包內可以訪問的,所以包內訪問怎么辦?* 別急scala也有提供辦法,往下看* 2. private def xxx ={} 私有方法* 3. protected def xxx={} 在子類中可以訪問* 4. private[包] / protected[包] 首先指明了方法是私有的還是子類可訪問的,然后又明確了這個方法在哪個包中能訪問* 5. scala還有一個獨特的對象限制 格式為 private[this]/protected[this] 這樣指明以后,就只能在本對象中訪問,后面再細說* 6. 對于默認的public,都public了所以就不用在加什么包限制和對象限制了* * *//*再看看函數體本身,* main(args:Array[String}):Unit={...}* void mian(String[] args){}* 和java的不同有* 1.函數簽名和花括號之間多了個等號 如果你的花括號中只有一句話 那么花括號也可以省略 例如 def test(name:String):Unit=println(name)* 2.void 變成了 :Unit :Unit可以省略 例如 def test(name:String)=println(name)* 3. String[] args 變成了 args:Array[String] 如果沒有參數···那么這樣也是對的 def test = println()* 4. 函數內的語句后面不用加;了···能少敲一個是一個的思想··* 5. 想返回值的話也不用寫return了 直接寫值就好 例如 返回5的函數 * * def test = 5* def test():Int = 5* def test:Int = 5* * 都是正確的* * 從上面的三點可以得出的感覺是什么* 1.在scala中要說明一個變量的類型 那么用 xx:Type的方式來指定* 那么為什么在函數簽名后面也是:返回值 呢?* 這里明確一下我理解的變量類型。所謂的變量類型,就是你用一個什么樣的聲明來接受一個變量* 這么說 也就是 你定一個了一個double類型的變量,那么只有在聲明為double的才能接收這個變量* 擴展到函數 :返回值 我們也理解為定義了函數的類型 其實也就是你用什么樣的聲明來接受這個函數的返回值* 所以 函數===變量 所以他們都用 :Type 了,所以scala是函數式編程語言* * */def main(args: Array[String]): Unit = {println("Hello Scala!!!A new world!!!")}}?
?
?
總結
以上是生活随笔為你收集整理的scala初学之helloWorld的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XNA开发思考之3D开发中的小常识
- 下一篇: 蓝桥杯第五届省赛JAVA真题----七对