• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Groovy培訓

    概念

    Groovy是一種動態語言,它和Java類似(算是Java的升級版,但是又具備腳本語言的特點),都在Java虛擬機中運行。

    //區別

    1.在Groovy可以用def定義無類型的變量,和返回值為無類型的方法,而在Java中沒有def
    2. Java中的equals方法對應Groovy中的== , 而Java中的==(判斷是否引用同一對象)對應Groovy中的is方法
    3. Java中的數組定義int[] a = {1, 2, 3}; 在Groovy寫成int[] a = [1, 2, 3] 
    4. Java中的for循環for (int i = 0; i < len; i++) {...} 在Groovy中還可以寫成for (i in 0..len-1) {...} 或者 for (i in 0..<len) {...}或者for (Strin name : names)
    5. Java中的方法返回寫為return; 或者return obj; 在Groovy的方法中return是可選的
    6. 對象創建在Java寫為Thought t = new Thought(); 在Groovy也可以這樣寫,不過還多了種寫法:def t = new Thought();
    7. 靜態方法調用在Java和Groovy中相同,即ClassName.staticMethodName();
    8. 類變量即static變量,Groovy與Java相同,static String name = “張大偉”,在Groovy也可寫為static name = “張大偉“

    注釋(Comments)

    和Java一樣,支持單行(使用//)、多行(/* */)和文檔注釋(使用/** */)。

    //def a='123'
    
    /*123*/
    2.運行環境
    Windows運行環境:下載免安裝版本的apache-groovy-sdk-2.4.14.zip。
    運行命令:groovy groovy.groovy
    Linux環境:直接安裝Rpm -ivh groovy

    運行命令:./groovy.groovy 或者groovy groovy.groovy

    Eclipes 安裝插件

    http://dist.springsource.org/snapshot/GRECLIPSE/e4.4/


        等上一會兒,直到eclipse從網上找到找到要安裝的包,此時把要安裝的包前面的復選框選中(全選即可),點擊Finish按鈕即可開始安裝

    標識符

    字母、美元符號$或下劃線_開始,不能以數字開始注意:
    def name 
    def $name f
    def name_type
    //錯誤+
    def 5type

    變量

    Groovy中的變量可以通過兩種方式定義 - 使用數據類型,或者使用def關鍵字。對于變量定義,必須明確提供類型名稱或在替換中使用“def”。這是Groovy解析器需要的,Groovy語句可以不用分號結尾。

    def var = 'hello' 
    println(var) 
    String var='hellow'
    println(var.class) 
    def var2 = "hello2" 
    println(var2) 
    println var2 
    println(var2.class)

    關鍵字

    as、assert、break、case、catch、class、const、continue、def、default、do、else、enum、extends、false、
    finally、for、goto、if、implements、import、in、instanceof、interface、new、null、package、return、super、
    switch、this、throw、throws、trait、true、try、while

    字符串

    在Groovy中字符串有兩種類型,一種是Java原生的java.lang.String;另一種是groovy.lang.GString,又叫插值字符串

    def name = 'zdw'
    println name.getClass()
    //GSname[0]
    name="zhangdawei“
    myname="my name is ${name}“
    println myname.getClass()

    當需要引用多行的時間可以用三個''' \

    def line = '''
    line one
    line two
    line three
    '''

    字符串連接

    println "zhang" + "da" +"wei"
    def name1="zhang"
    println "${name1}" + "da" +"wei"

    字符串相等

    def name1="張大偉";//== equals
    def name2="張大偉1";
    if (name1.is(name2))
    {
     println "名字一等于名字2"
    }

    字符串類型的轉換

    String a='1'
    int b=a as int

    數據類型

    在Groovy中并沒有明確的字符變量表示形式,我們必須明確指明:

    char c1 = 'A' // 明確指定給一個字符變量
    def c2 = 'B' as char // 用as關鍵字
    def c3 = (char) 'C' // 強制類型轉換

    其它類型short、int、long、java.lang.BigInteger、loat(32)、double(64)

    byte b = 1 
    char c = 2 
    short s = 3 
    int i = 4 
    long l = 5
    BigInteger bi = 6

    Booleans類型

    Boolean類型沒啥解釋的、兩個值true或者false

    def isboy = true 
    boolean isgirl= false
    列表類型 List
    默認情況下Groovy的列表使用的是java.util.ArrayList,用中括號[]括住,使用逗號分隔:
    def numbers = [1, 2, 3]
    def list = ['a', 'b', 'c', 'd']
    println list[0]
    //賦值
    list[3] = 100  //修改
    list<<10 //在 aList 里面添加數據
    list[4]='e'
    //二維
    def erwei = [[0, 1], [2, 3]]
    erwei[1][0] == 2
    
    數組

    在Groovy中,沒有數組的字面量定義方式。
    和特定類型列表的定義方式一樣,我們需要使用as操作符或顯式地分配給一個數組類型的變量:

    String[] list1 = ["Java", "Groovy", "JavaScript"]
    int[] array = [0,1,2,3]
    def num = [1, 2, 3] as int[] // 使用as操作符
    def a = new String[2]

    映射(鍵-值表 Map)

    Groovy使用中括號[]來定義映射,元素需要包含key和value使用冒號分隔,元素與元素之間用逗號分隔:

    def map = ['name':'xiaowang','age':14,'sex':'boy']
    //2、添加項:
    map = map+['weight':25]       //添加體重
    map.put('length',1.27)      //賦值
    map.father='dawang'         //添加
    println map

    Range

    范圍,list的一種擴展

    def range = 1..5
    開始結束
    range.size()  //長度
    range.contains( 5) //是否包含元素5
    range.last()

    控制語句

    for for..in while break contiue

    for循環用戶遍歷一組值
    for(int i = 0;i<5;i++) 
    { println(i)}//
     

    while語句首先通過計算條件表達式(布爾值)來執行,如果結果為真,則執行while循環中的語句。

    int count = 0;
          while(count<5) {
             println(count);
             count++;
          }

    break中斷操作

    continue 繼續

    條件語句

    if if..else swtich

    條件聲明需要程序指定一個或者多個條件進行判斷,如果條件被確定為真,則要執行一個或多個語句;如果條件被確定為假,則要執行其他語句。

    int a =11
    if (a>100){
    	print "a大于10"
    	}   

    swtich

    age = 36
    switch (age) { case 10..26: println "年輕"break case 27..37: println "中年"break case 38..46: println "老年"println state break}

    方法

    Groovy中的方法是使用返回類型或使用def關鍵字定義的。方法可以接收任意數量的參數。定義參數時,不必顯式定義類型。可以添加修飾符,如public,private和protected。默認情況下,如果未提供可見性修飾符,則該方法為public。

    def getnum()
    {//}

    方法調用


    版權聲明:本文為nyist5451897原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/nyist5451897/article/details/79540193

    智能推薦

    Groovy_Learn_003_Groovy基本語法

    Groovy基本語法 為了了解Groovy的基本語法,讓我們先看一個簡單的Hello World程序 在Groovy中導入語句import語句可以用來導入,可以在你的代碼可以使用其他庫的功能。這是通過使用在 Import 關鍵字完成。 下面的示例演示了如何使用MarkupBuilder的類,它可能是最常用的創建HTML或XML標記的類之一。 默認情況下,Groovy在代碼中包括以下庫,因此您不需要...

    Groovy_Learn_002_Groovy環境

    Groovy環境 有多種方式來獲得Groovy環境設置 下載安裝,獲得Windows安裝部分 ----- 安裝過程就不詳細的介紹了。 也可下載壓縮包 下載后,把壓縮包解壓到相應的位置,然后再環境變量的Path里面添加解壓后的路徑(到解壓的bin目錄下)。配置好后,然后運行groovy -v,可以看到如下圖 到這里,就安裝好了。 Hello Groovy Dos中運行groovyconsole之后,...

    Linux下安裝groovy & Idea安裝groovy

    1.下載groovy-2.5.3 下載鏈接:某盤鏈接 提取碼:q3ir 如果鏈接失效,請留言。 2.Linux安裝groovy 3.Idea安裝groovy 下載groovy-2.5.3.zip后,本地解壓縮,記住路徑,如:/Download/groovy-2.5.3 打開Idea,右鍵項目,選擇Project Structure -> Global Libraries -> 加號 -...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    猜你喜歡

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    精品国产乱码久久久久久蜜桃不卡