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

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

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

    Groovy入門篇--Getting started

    Posted on 2007-08-15 12:43 puras 閱讀(2653) 評論(1)  編輯  收藏 所屬分類: Groovy

    原文:http://groovy.codehaus.org/Tutorial+1+-+Getting+started

    譯者:puras

    1.設(shè)置Java環(huán)境

    Groovy需要Java,所以你需要有一個(gè)Java的可用版本(1.4或是更高).如果你還沒有安裝Java,可按照下面一步步的進(jìn)行:

    • http://java.sun.com上獲取最近的Java的發(fā)行版
    • 執(zhí)行安裝程序
    • 設(shè)置JAVA_HOME環(huán)境變量.在Window上的話,參照下面的步驟:
    • 打開系統(tǒng)屬性面板
    • 點(diǎn)擊高枝標(biāo)簽
    • 點(diǎn)擊環(huán)境變量按鈕
    • 添加一個(gè)新的系統(tǒng)變量,名為JAVA_HOME和Java的安裝目錄(我的是:D:\Program Files\jdk1.6.0)
    • 將%JAVA_HOME%\bin添加到你的系統(tǒng)路徑中(可選)

    2.設(shè)置Groovy環(huán)境

    下載頁下載Groovy的安裝文件或是二進(jìn)制文件,并跟隨說明安裝.(當(dāng)前有一個(gè)問題是將Groovy安裝在Windows下時(shí),安裝路徑中不能出現(xiàn)空格.所以,將默認(rèn)的安裝路徑c:\Program Files\Groovy替換成類似于D:\groovy-1.0的路徑)

    或者

    • 網(wǎng)站上獲取一個(gè)Croovy發(fā)行版,并將它復(fù)制到你的硬盤上
    • 解壓Groovy的壓縮包,并將其放至到你硬盤上合適的位置.如D:\groovy-1.0-jsr-06
      • 添加一個(gè)環(huán)境變量GROOVY_HOME,并將其值設(shè)置為你的Groovy的安裝目錄,我的是D:\groovy-1.0
      • 打開命令提示符,輸入"set",查看返回的結(jié)果看設(shè)置是否正確
    • 可將%GROOVY_HOME%\bin添加到你的系統(tǒng)路徑
    • 嘗試雙擊打開Groovy發(fā)行版中的bin目錄下的groovyConsole.bat文件.如果它不能工作,打開命令提示符,將目錄轉(zhuǎn)到bin目錄下,再次執(zhí)行它,看看有什么錯(cuò)誤信息

    3.設(shè)置可選的Jar文件

    你也許想要獲得一些可選的Jar文件,或是對應(yīng)于Groovy的模塊(詳細(xì)說明查看模塊的文檔),或是對應(yīng)于想要用于Groovy的其他的Java類.下面列出了一些可能性:

    名稱 來自于 描述
    jtds-version.jar

     http://jtds.sourceforge.net

    SQL Server和/或Sybase的數(shù)據(jù)庫驅(qū)動
    hsqldb-version.jar http://www.hsqldb.org/ HSQLDB的數(shù)據(jù)庫驅(qū)動,一個(gè)100%的Java數(shù)據(jù)庫

    讓Groovy知道你添加的Jar文件的一個(gè)推薦的方式是將它們放到一個(gè)預(yù)先確定的位置.你所安裝的Groovy應(yīng)該包含一個(gè)名為"groovy-starter.conf"的文件.在這個(gè)文件中,在注釋的下面添加如下的一行:

    load ${user.home}/.groovy/lib/*

    "user.home"這個(gè)系統(tǒng)屬性由你的操作系統(tǒng)設(shè)置.(我的是c:\Document和Settings\puras.)現(xiàn)在將你的Jar文件放置到.groovy/lib目錄中.

    注:做為另一種選擇,你可以設(shè)置一個(gè)CLASSPATH變量,并確定它包含了你所添加的Jar文件,否則Groovy將以空的或是沒有CLASSPATH變量來工作.

    4.Hello World

    在groovyConsole窗口的頂部(打開groovyConsole可以通過在Groovy下的bin中雙擊groovyConsole.bat文件,或是以命令提示符下輸入groovyConsole),輸入下面的代碼:

    println "Hello, World!"

    之后按下"Ctrl+R".

    groovyConsole下部的窗口會顯示:

    groovy> println "Hello, World!"

    Hello, World!

    (注:原文說打印出來的文字將在Window的命令窗口中顯示,就是groovyConsole后面的黑色的窗口,但在我的機(jī)器是直接顯示在groovyConsole下部的窗口中的,應(yīng)該是原文所使用的Groovy的版本較老)

    以"groovy>"開頭的一行文本是控制臺要處理的.而"Hello,World!"則是執(zhí)行的結(jié)果.

    接下來使用一些實(shí)際的值.用下面的一行來替換掉控制臺中的文本:

    123+45*67

    或是你喜歡的算術(shù)表達(dá)式,之后按下"Ctrl+R".(我將不再告訴你按下Ctrl+R,我想你已經(jīng)知道該如何做了).之后結(jié)果的值會顯示在groovyConsole的下部窗口中.

    5.變量

    你可以為變量賦上值,以備之后使用.嘗試下面的:

    x = 1
    println x

    x = new java.util.Date()
    println x

    x = -3.1499392
    println x

    x = false
    println x

    x = "Hi"
    println x

    6.Lists and Maps

    Groovy中內(nèi)置了兩種非常重要的數(shù)據(jù)類型:List和Map(List可以操作Java中的數(shù)組).Lists被用于存儲有序的集合數(shù)據(jù).例如一個(gè)由你喜受的整型數(shù)組成的整型List,看起來像下面這樣:

    myList = [1776, -1, 33, 99, 0, 928734928763]

    你可以使用方括號來訪問List中存儲的條目(索引從0開始):

    println myList[0]

    輸出的結(jié)果應(yīng)該是:

    1776

    你可以使用"size"方法來獲取List的長度:

    println myList.size()

    將輸出:

    6

    但通常你可能不需要這個(gè)長度,因?yàn)椴幌馢ava,循環(huán)一個(gè)List的首選方法是使用"each"方法,將在下面的"Code as Data"部門中講解.

    另一個(gè)本地?cái)?shù)據(jù)類型結(jié)構(gòu)稱為Map.它被用于存儲"聯(lián)合數(shù)組"或是"字典".那是一個(gè)無序的不同種類數(shù)據(jù)的集合.例如,就說我們想存儲名字和智商,我們將會這樣做:

    scores = [ "Brett":100, "Pete":"Did not finish", "Andrew":86.87934 ]

    每個(gè)存儲在Map中的值都有不同的類型.Brett的是一個(gè)整型,Pete的是一個(gè)字符串,而Andrew則是一個(gè)浮點(diǎn)數(shù).我們可以通過兩種主要的方式來訪問Map中的值:

    println scores["Pete"]
    println scores.Pete

    將會輸出:

    Did not finish
    Did not finish

    向一個(gè)Map中添加數(shù)據(jù),語法與向一個(gè)List中添加數(shù)據(jù)相似.例如,如果Pete重新做了IQ測試,并得到了3,我們可以:

    scores["Pete"] = 3

    稍后我們再取它的值,它將是3

    println scores["Pete"]

    將輸出3.

    另一方面,你可以用下面的方法來創(chuàng)建一個(gè)空的Map或是一個(gè)空的List:

    emptyMap = [:]
    emptyList = []

    確認(rèn)List為空,你可以執(zhí)行下面的語句:

    println emptyMap.size()
    println emptyList.size()

    將輸出List和Map的長度為0.

    7.條件執(zhí)行

    在任何編程語言都非常重要的一個(gè)特征是在不同的條件下執(zhí)行不同的代碼的能力.最簡單的方式是使用"if"結(jié)構(gòu).例如:

    amPM = Calendar.getInstance().get(Calendar.AM_PM)
    if (amPM == Calendar.AM)
    {
        println("Good morning")
    } else {
        println("Good evening")
    }

    不要擔(dān)心第一條語句,它僅僅是一些確定當(dāng)前時(shí)間是中午之前還是之后的代碼.代碼執(zhí)行的順序如下:首先是求括號里面的值,之后依靠這個(gè)值是"true"還是"false"來確定是執(zhí)行第一還是第二塊代碼.查看下面的布爾表達(dá)式.

    "else"塊不是必需的,但是"if"塊則是必需的:

    amPM = Calendar.getInstance().get(Calendar.AM_PM)
    if (amPM == Calendar.AM)
    {
        println("Have another cup of coffee.")
    }

    8.布爾表達(dá)式

    在大多數(shù)的編程語言中都有一種特殊的數(shù)據(jù)類型,被用于表現(xiàn)真假值,"true"和"false".簡單的布爾表達(dá)式就是那些簡單的單詞.布爾值可以存儲在變量中,就像任何其他的數(shù)據(jù)類型一樣:

    myBooleanVariable = true

    一些復(fù)雜的布爾表達(dá)式可使用一些布爾操作符:

    * ==
    * !=
    * >
    * >=
    * <
    * <=

    它們大部分都非常直觀.相等操作符是"==",要與賦值操作符"="區(qū)分開.與相等相反的是"!=",為不等.

    下面是一些例子:

    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

    在"if"結(jié)構(gòu)中使用布爾表達(dá)式是非常有用的.例如:

    if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)
    {
        println(titanicDirector + " is a better director than " + returnOfTheKingDirector)
    }

    一個(gè)非常有用的測試是測試一個(gè)值或是表達(dá)式是否為空(沒有值).例如,我們想看看一個(gè)給定的Key是否存在Map中:

    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"]);
    }

    一般null被用于指出在一些位置上沒有值.

    9.調(diào)試和解決問題

    • 打印出你感興趣的變量的類可以使用myVar.getClass().之后查看那個(gè)類的文檔
    • 如果你有一個(gè)讓人頭痛的復(fù)雜的表達(dá)式,先將它分解成簡單的表達(dá)式,并求值.之后再將它們組合成復(fù)雜的表達(dá)式
    • 嘗試重新啟動groovyConsole(這將清除所有的變量,讓你重新開始)
    • 從Groovy的User Guide中查看你所感興趣的主題

    10.如果你是一個(gè)Java程序員

    Feedback

    # re: Groovy入門篇--Getting started  回復(fù)  更多評論   

    2009-01-09 22:23 by 張三
    引用:請不要發(fā)表任何與政治相關(guān)的內(nèi)容
    國外的論壇網(wǎng)站不可能有這樣的規(guī)定!
    真是可笑!
    這就是中國特色的社會主義!
    和諧!

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


    網(wǎng)站導(dǎo)航:
     

    posts - 47, comments - 124, trackbacks - 0, articles - 0

    Copyright © puras

    主站蜘蛛池模板: 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 亚洲精品国产电影午夜| 国产精品玖玖美女张开腿让男人桶爽免费看| 亚洲国产综合精品中文第一| 69影院毛片免费观看视频在线| 久久笫一福利免费导航| 亚洲噜噜噜噜噜影院在线播放| 久久精品国产亚洲AV天海翼 | 黄色免费在线观看网址| 国产免费av一区二区三区| 春暖花开亚洲性无区一区二区| 暖暖日本免费中文字幕| 久久精品国产亚洲AV嫖农村妇女| 亚洲性无码一区二区三区| 和日本免费不卡在线v| 亚洲国产熟亚洲女视频| 女人被男人桶得好爽免费视频| 亚洲国产精品免费视频| 国产香蕉免费精品视频| 亚洲中文字幕无码中文| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 韩国18福利视频免费观看| 亚洲精品国产国语| 国产男女猛烈无遮挡免费网站 | 国产精品亚洲专区无码唯爱网| 久久久久久AV无码免费网站下载| 大香人蕉免费视频75| 亚洲第一街区偷拍街拍| 亚洲一区二区精品视频| 亚洲一区二区在线免费观看| jlzzjlzz亚洲jzjzjz| 亚洲精品成人区在线观看| 99免费视频观看| 看一级毛片免费观看视频| 亚洲av无码专区国产乱码在线观看| 一级毛片正片免费视频手机看| 妞干网免费视频观看| a级精品九九九大片免费看| 亚洲一卡二卡三卡| 亚洲精品第一国产综合境外资源| 激情小说亚洲色图|