`
ceci.lia
  • 浏览: 144285 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Groovy流水账-Groovy基础

阅读更多
Groovy针对循环处理提供了多种灵活方式,比起java来更简洁,充分体现了动态语言的灵活性。
1)针对int类型的循环使用upto来循环,代码如下:
1.upto(9) { println "$it" }


2)如果你的循环从0开始,可以使用times。代码如下:
5.times{ print "$it "}


3)当然还有必不可少的for,while循环等等。代码如下:
for(i =0; i< 3 ; i++){
	print "$i "
}


Groovy的优雅的异常处理方式,就是无需特别地去处理异常。异常回自动抛到更高级别的类调用者去处理,而不必象java那样必须catch后再抛出或者通过在方法声明上使用throws。

Groovy还提供了很多其他简单的特性
1)return语句是可选的,如果方法的最后一个语句是判断语句,则除外
2)分号几乎是可选的,主要在特定的语意下必须写分号外,大部分情况都不必写分号
3)方法和类默认都是public的
4)?. 用来判断如果一个对象不为空,则调用方法,例如:
def obj = null
print obj.getClass()

5)使用named parameters来初始化java bean,大部分的动态语言都提供此特性。

Groovy中定义JavaBean,代码摘自Programming Groovy
class Robot
{
  def type, height, width
  def access(location, weight, fragile)
  {
    println "Received fragile? $fragile, weight: $weight, loc: $location"
  }
}
robot = new Robot(type: 'arm' , width: 10, height: 40)
println "$robot.type, $robot.height, $robot.width"
robot.access(50, x: 30, y: 20, z: 10, true)

可以使用named parameter来初始化java bean。这段代码的输入如下:
arm, 40, 10
Received fragile? true, weight: 50, loc: ["x" :30, "y" :20, "z" :10]

对于第二段代码可以比较奇怪,方法调用传递的参数超出了方法声明中的参数个数,groovy会自动将key-value的参数集合起来作为方法的第一个参数,其他的按方法声明的顺序来进行赋值。

Groovy支持方法的可选的参数传递,代码如下:
def printGreetings(name, greetings = "Welcome"){
  print "$name, Welcome."
}
printGreetings("Durex")

如果在一个方法最后一个参数定义数组形式,则该参数也是可选的,可传可不传。

Groovy中的boolean运算为ture的情况:
1)true
2)集合不为空
3)char不为0
4)CharSequence的长度大于0
5)Enumeration有更多的元素
6)Iterator迭代器的hasNext
7)Number不是0
8)Map不为空
9)Matcher至少有一个匹配
10)Object数组的长度大于0
11)任何其他的对象引用不为null

Goovy的强大的操作符重载,1)可以对字母进行循环,代码如下
for( i = 'a'; i < 'z'; i++){
  print "$i"
}

2)针对数组,进行<<将操作数移入数组中,代码如下:
def greetings = ["hello"]
greetings << "welcome"


Groovy针对java5提供了很多特性支持:自动装箱,for-each,enum,可变参数,静态导入,范型等等。Groovy同时还提供了自己的特别地方:==和java的equals一样,新的关键字(def,it,以及Range定义..),没有code block,更简单定义数组的方式(def array =[1,2])

0
0
分享到:
评论

相关推荐

    groovy-3.0.9-API文档-中英对照版.zip

    赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...

    groovy-all-2.4.5-API文档-中英对照版.zip

    赠送jar包:groovy-all-2.4.5.jar; 赠送原API文档:groovy-all-2.4.5-javadoc.jar; 赠送源代码:groovy-all-2.4.5-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.5.pom; 包含翻译后的API文档:groovy-all...

    groovy-all-2.4.13-API文档-中文版.zip

    赠送jar包:groovy-all-2.4.13.jar; 赠送原API文档:groovy-all-2.4.13-javadoc.jar; 赠送源代码:groovy-all-2.4.13-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.13.pom; 包含翻译后的API文档:groovy...

    groovy-all-2.4.15.jar

    org.gradle.api.resources.ResourceException: Could not get resource '...下载groovy-all-2.4.15.jar后,放入对应的 android-studio/gradle/gradle-5.*/lib/目录。 重启 Android Studio 及可使用。

    groovy-3.0.9-API文档-中文版.zip

    赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...

    groovy-all-2.4.5-API文档-中文版.zip

    赠送jar包:groovy-all-2.4.5.jar; 赠送原API文档:groovy-all-2.4.5-javadoc.jar; 赠送源代码:groovy-all-2.4.5-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.5.pom; 包含翻译后的API文档:groovy-all...

    groovy-all-2.4.15.jar.zip

    groovy-all-2.4.15.jar文件,MAC使用时需存放在/Users/用户名/.gradle/caches/jars-3/某一缓存目录下,找不到就都看一下,我遇到的问题是缓存目录中下载的是2.4.17版本,应该跟gradle版本升级有关

    groovy-all-2.4.12.jar

    最近的groovy-all-2.4.12.jar包供使用,解决as编译时报错问题

    groovy-all-2.4.8.jar

    - `groovy-all-2.4.8.jar` 是一个集合包,包含了Groovy运行时所需的所有类库,包括Groovy的核心库、标准库、编译器和其他相关模块。 - 这个jar包使得开发者可以在Java项目中方便地引入Groovy,无需单独管理各个...

    groovy-2.5.1-API文档-中英对照版.zip

    赠送jar包:groovy-2.5.1.jar; 赠送原API文档:groovy-2.5.1-javadoc.jar; 赠送源代码:groovy-2.5.1-sources.jar; 赠送Maven依赖信息文件:groovy-2.5.1.pom; 包含翻译后的API文档:groovy-2.5.1-javadoc-API...

    groovy-binary-1.8.6

    "groovy-binary-1.8.6" 是Groovy的一个特定版本,其版本号表明这是1.8系列中的第六次更新。 Groovy的特性包括: 1. **简洁的语法**:Groovy的语法比Java更为简洁,例如,它可以省略括号、分号和类型声明,使代码更...

    groovy-2.3.6-installer

    在"groovy-2.3.6-installer"这个版本中,我们聚焦于Windows操作系统上的安装过程。 Groovy 2.3.6是该语言的一个稳定版本,发布于2014年,它提供了许多改进和新特性。对于开发者来说,选择特定版本可能是因为它满足...

    apache-groovy-sdk-4.0.1下载

    1. **groovy-all.jar**:这是一个包含了Groovy库所有模块的集合,你可以通过引入这个单一的jar文件来快速地在项目中使用Groovy。 2. **bin**目录:包含了一系列可执行脚本,如`groovy`, `groovyc`, 和 `groovysh`,...

    apache-groovy-sdk-3.0.6.zip

    1. **Groovy编译器**:SDK中的`groovy-3.0.6`目录可能包含了Groovy编译器,它是将Groovy源代码转换成Java字节码的工具,使得Groovy程序能够在Java平台上运行。 2. **GroovyShell和GroovyConsole**:这两个工具允许...

    groovy-all-2.1.6.jar

    groovy-all-2.1.6.jar groovy-all-2.1.6.jargroovy-all-2.1.6.jar

    groovy-2.5.1-API文档-中文版.zip

    赠送jar包:groovy-2.5.1.jar; 赠送原API文档:groovy-2.5.1-javadoc.jar; 赠送源代码:groovy-2.5.1-sources.jar; 赠送Maven依赖信息文件:groovy-2.5.1.pom; 包含翻译后的API文档:groovy-2.5.1-javadoc-API...

    groovy-sdk-4.0.3

    6. **jar文件**:如`groovy-4.0.3.jar`等,这些是SDK的核心库,包含Groovy运行时所需的类和接口。 7. **依赖库**:Groovy可能依赖于其他Java库,如Ant、JUnit等,这些依赖项通常也会包含在SDK中。 使用Groovy SDK...

    apache-groovy-sdk-2.5.6.zip

    在下载并解压"apache-groovy-sdk-2.5.6.zip"后,开发者可以找到`groovy-2.5.6`目录,其中包含了Groovy的JAR文件、文档、源代码以及用于构建和运行Groovy程序的工具。通过这个SDK,开发者可以开始学习和使用Groovy,...

    groovy-all-2.4.7.jar

    groovy-all-2.4.7.jar

    idea-grails-toolls整包jar资源

    groovy-2.4.5jar groovy-ant-2.4.5.jar groovy-bsf-2.4.5jar groovy-console-2.4.5.jar groovy-docgenerator-2.4.5.jar groovy-groovydoc-2.4.5.jar groovy-groovysh-2.4.5.jar groovy-jmx-2.4.5.jar groovy-json-...

Global site tag (gtag.js) - Google Analytics