Groovyb脚本速成教程

来源:互联网 发布:91助手mac版官方下载 编辑:程序博客网 时间:2024/05/21 10:36
1       内容简介
主要介绍了groovy的常用语法,以便快速上手应用.
 
2       语法介绍
2.1    屏幕输出
println “Hello world!”
println “Hello” + “ world!”
2.2    变量定义
class HelloWorld {
  staticvoid main(args) {
   
      def myString = new String("test String")
       def myObject = new Object()
      int myInt = 8   
      myObject = 3
      
       println"myString=" + myString
       println"myObject=" + myObject
       println"myInt=" + myInt 
 }
}
2.3    类定义,函数定义
class HelloWorld {
   
    defvoidtest(){
       println"this is test func"
    }
   
    def String getString(String input){
       println"input=" + input
       return"hello," + input
    }
  staticvoid main(args) {
       def hw = new HelloWorld()
       hw.test()
       println hw.getString("Liuyou")
    }
}
 
 
2.4    list用法
class HelloWorld {
   
  staticvoid main(args) {
   
  //ArrayList可以动态增加大小
  def arrayList = new ArrayList()
  arrayList[0] = "dog"
  arrayList[1] = "cat"
  arrayList[2] = "bird"
  for(l in arrayList){
       println l + " "  
  } 
  //list,不可以动态增加大小
  def list = [ "dog", "cat", "bird" ]
    for(l in list){
       println l + " "  
    }
  //list array
  def lists = [[ "liuyou", "22", "M"],["liudehua", "33", "M"]]
    for(l in lists){
       println l[0] + "-" + l[1] + "-" + l[2]
    }
  for(l in lists){
       for(e in l){
          println e
       }
    }
 }
}  
 
2.5    map用法
 
class HelloWorld {
   
  staticvoid main(args) {
       //显示定义map
       def map = new HashMap()
       map.put("ID", 12345)
       map.put("name", "Liuyou")
       map.put("email", "you.liu@alcatel-sbell.com.cn")
       println map.get("ID") + "/" + map.get("name") + "/" + map.get("email")
       //隐示定义map
       def map2 = ["email":"you.liu@alcatel-sbell.com.cn", "name":"Liuyou", "ID":12345]
       println map.get("ID") + "/" + map.get("name") + "/" + map.get("email")
    }
}
 
 
2.6    逻辑语句
2.6.1   if…else…
class HelloWorld {
   
  staticvoid main(args) {
       def s = "1234"
       if(s == "1234")   println"yes,it is 1234"
      
       def n = 1234
       if(n == 123println"yes, n is 123"
       elseif(n == 12) println"yes, n is 12"
       elseif(n == 1234)   println"yes, n is 1234"
       elseprintln"yes, n is null"
    }
}
 
2.6.2   switch…case…
class HelloWorld {
   
  staticvoid main(args) {
       def s = "1234"
       switch(s){
       case"1":
           println"1";
           break;
       case"2":
           println"2";
           break;
       case"1234":
           println"1234"
           break;
       default:
           println"default"
           break;
       }
    }
}
 
2.6.3   while循环
class HelloWorld {
   
  staticvoid main(args) {
       int n = 10
       while(n){        
           println"n=" + n
           n --
       }
    }
}
2.6.4   for循环
class HelloWorld {
   
  staticvoid main(args) {
       def n = [10,20,30]
       for(e in n){        
           println"e=" + e
       }
    }
}
 
 
 
 
2.7    try…catch…异常语句
class HelloWorld {
   
    defvoid testException(){
       try{
           def n = 0;
           def m = 2;
           def l = m/n
       }catch(Exception e){
           println e.toString()
       }
    }
    defvoid testThrow(){
       thrownew java.lang.ArithmeticException()
    }
 
  staticvoid main(args) {
       def hw = new HelloWorld()
      
       //除法零异常
       hw.testException()
       //主动抛出异常
       try{
           hw.testThrow()
       }catch(ArithmeticException e){
           println e.toString()
       }
    }
}
 
 
 
原创粉丝点击