我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          Groovy之旅系列二(初識Groovy基本語法)

              昨天我們寫了一個(gè)HelloWorld,其實(shí)很簡單的.呵呵.
          現(xiàn)在我們打開Groovy控制臺輸入:
          123+45*67
          按Ctrl+R,結(jié)果就會輸出來了.

          Result: 3138

            現(xiàn)在我們來看看給變更賦值

          = 1
          println x

          = new java.util.Date()
          println x

          = -3.1499392
          println x

          = false
          println x

          = "Hi"
          println x

          Groovy在你需要用時(shí)才給變量賦予類型和值.

          這在Java里是不可想象的.

          List和Maps:

          我們來看看如何來聲明一個(gè)集合:
          myList = [1776-133990928734928763]

          和Java一樣,集合的索引是從0開始的.你可以這樣訪問:
          println myList[0]

          將會輸出:
          1776
          你能得到集合的長度
          println myList.size()
          將會輸出:
          6

          來看看Map怎樣聲明:
          scores = [ "Brett":100"Pete":"Did not finish""Andrew":86.87934 ]

          注意每個(gè)鍵的值類型都是不同的.
          現(xiàn)在我們訪問一下鍵為"Pete"的值,有兩種方式:
          println scores["Pete"]
          println scores.Pete

          會輸出:
          Did not finish
          Did not finish

          我們也能給scores["Pete"]賦予新值

          scores["Pete"= 3
          再次訪問scores["Pete"]
          println scores["Pete"]

          將會輸出3

          你也可以創(chuàng)建一個(gè)空集合和空Map:

          emptyMap = [:]
          emptyList 
          = []

          為了確保集合或Map是空的,你可以輸出一個(gè)它們的大小:
          println emptyMap.size()
          println emptyList.size()
          輸出是0

          現(xiàn)在我們來看看條件執(zhí)行吧:
          amPM = Calendar.getInstance().get(Calendar.AM_PM)
          if (amPM == Calendar.AM)
          {
              println(
          "Good morning")
          }
           else {
              println(
          "Good evening")
          }


          這是一個(gè)簡單的判斷是上午還是下午的小程序,對于第一行你可以參考Groovy-doc.

          Bool表達(dá)式:

          myBooleanVariable = true
          當(dāng)然還有一些復(fù)雜的bool表達(dá)式:
          * ==
          * !=
          * >
          * >=
          * <
          * <=
          來看看一些例子吧:
          titanicBoxOffice = 1234600000
          titanicDirector 
          = "James Cameron"

          trueLiesBoxOffice 
          = 219000000
          trueLiesDirector 
          = "James Cameron"

          returnOfTheKingBoxOffice 
          = 752200000
          returnOfTheKingDirector 
          = "Peter Jackson"

          theTwoTowersBoxOffice 
          = 581200000
          theTwoTowersDirector 
          = "PeterJackson"

          titanicBoxOffice 
          > returnOfTheKingBoxOffice  // evaluates to true
          titanicBoxOffice >= returnOfTheKingBoxOffice // evaluates to true
          titanicBoxOffice >= titanicBoxOffice         // evaulates to true
          titanicBoxOffice > titanicBoxOffice          // evaulates to false
          titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice  // evaluates to false

          titanicDirector 
          > returnOfTheKingDirector    // evaluates to false, because "J" is before "P"
          titanicDirector < returnOfTheKingDirector    // evaluates to true
          titanicDirector >= "James Cameron"           // evaluates to true
          titanicDirector == "James Cameron"           // evaluates to true

          bool表達(dá)式對于if來說是非常有用的:
          if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)
          {
              println(titanicDirector 
          + " is a better director than " + returnOfTheKingDirector)
          }
          再看關(guān)于天氣的例子:
          suvMap = ["Acura MDX":"\$36,700""Ford Explorer":"\$26,845"]
          if (suvMap["Hummer H3"!= null)
          {
               println(
          "A Hummer H3 will set you back "+suvMap["Hummer H3"]);
          }

          ok,今天到此為止吧.

          posted on 2008-04-29 09:00 々上善若水々 閱讀(2515) 評論(4)  編輯  收藏

          評論

          # re: Groovy之旅系列二(初識Groovy基本語法)  回復(fù)  更多評論   

          繼續(xù)努力.希望出一個(gè)系列.
          2008-04-29 10:51 | java begginger

          # re: Groovy之旅系列二(初識Groovy基本語法)[未登錄]  回復(fù)  更多評論   

          初學(xué)者的例子
          2008-04-29 10:52 | BeanSoft

          # re: Groovy之旅系列二(初識Groovy基本語法)[未登錄]  回復(fù)  更多評論   

          準(zhǔn)備學(xué)習(xí)Groovy,看來也沒那么復(fù)雜.
          2008-04-29 10:52 | shy

          # re: Groovy之旅系列二(初識Groovy基本語法)[未登錄]  回復(fù)  更多評論   

          不錯(cuò),歡迎到國內(nèi)第一個(gè)基于Grails開發(fā)的并且討論Java&Grails技術(shù)網(wǎng)站
          www.javaread.com分享你的技術(shù)文章。
          2008-08-13 17:54 | javaread.com

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 华蓥市| 浦北县| 托克逊县| 邹城市| 蒙山县| 芜湖市| 鄂托克前旗| 靖边县| 肃宁县| 胶南市| 墨竹工卡县| 自治县| 嵊州市| 夏津县| 长汀县| 赤水市| 米林县| 乾安县| 定远县| 安徽省| 永川市| 武城县| 霍山县| 门头沟区| 湖南省| 公安县| 鱼台县| 永顺县| 平远县| 福清市| 阿拉善右旗| 宝清县| 额敏县| 邹城市| 丰原市| 洛宁县| 米脂县| 绥中县| 新龙县| 达拉特旗| 罗山县|