<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

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

    Groovy之旅系列二(初識(shí)Groovy基本語(yǔ)法)

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

    Result: 3138

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

    = 1
    println x

    = new java.util.Date()
    println x

    = -3.1499392
    println x

    = false
    println x

    = "Hi"
    println x

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

    這在Java里是不可想象的.

    List和Maps:

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

    和Java一樣,集合的索引是從0開(kāi)始的.你可以這樣訪問(wèn):
    println myList[0]

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

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

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

    會(huì)輸出:
    Did not finish
    Did not finish

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

    scores["Pete"= 3
    再次訪問(wèn)scores["Pete"]
    println scores["Pete"]

    將會(huì)輸出3

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

    emptyMap = [:]
    emptyList 
    = []

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

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


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

    Bool表達(dá)式:

    myBooleanVariable = true
    當(dāng)然還有一些復(fù)雜的bool表達(dá)式:
    * ==
    * !=
    * >
    * >=
    * <
    * <=
    來(lái)看看一些例子吧:
    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á)式對(duì)于if來(lái)說(shuō)是非常有用的:
    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 々上善若水々 閱讀(2512) 評(píng)論(4)  編輯  收藏

    評(píng)論

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

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

    # re: Groovy之旅系列二(初識(shí)Groovy基本語(yǔ)法)[未登錄](méi)  回復(fù)  更多評(píng)論   

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

    # re: Groovy之旅系列二(初識(shí)Groovy基本語(yǔ)法)[未登錄](méi)  回復(fù)  更多評(píng)論   

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

    # re: Groovy之旅系列二(初識(shí)Groovy基本語(yǔ)法)[未登錄](méi)  回復(fù)  更多評(píng)論   

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲无av在线中文字幕| 亚洲综合久久综合激情久久| 日韩大片免费观看视频播放| 亚洲色爱图小说专区| 亚洲免费在线视频播放| 亚洲精华国产精华精华液| 亚洲五月午夜免费在线视频| 久久精品成人免费观看| 亚洲午夜精品久久久久久app| 免费人成视频x8x8入口| 七色永久性tv网站免费看| 亚洲中文无码亚洲人成影院| 亚洲深深色噜噜狠狠爱网站| 无码国产精品一区二区免费式直播 | 亚洲无成人网77777| 日韩免费视频播播| a级毛片在线免费| 亚洲乱码国产乱码精华| 亚洲AV无码不卡在线播放| 精品免费久久久久久成人影院| baoyu777永久免费视频| 亚洲欧美日韩一区二区三区| 亚洲AV无码成人精品区天堂| 日本一道本高清免费| 99国产精品免费视频观看| 无人视频免费观看免费视频| 亚洲图片中文字幕| 亚洲人成网77777色在线播放| 国内自产拍自a免费毛片| 高清一区二区三区免费视频| 黄色毛片免费在线观看| 亚洲一区二区三区免费在线观看 | 免费无码精品黄AV电影| 在线人成免费视频69国产| 成a人片亚洲日本久久| 亚洲女人18毛片水真多| 亚洲av永久无码精品古装片 | 女人18毛片a级毛片免费视频| 秋霞人成在线观看免费视频| 曰批全过程免费视频免费看| 国产亚洲精品成人AA片|