一、Groovy循环
1、repeat函数:
def repeat(val)
def repeat(val,repeat=循环次数)
def repeat(msg){ for(i=0;i<5;i++){ prinln msg } } def repeat(msg,repeat=5){ for(i in 0..<repeat){ prinln msg } }
注意,参数不加def,for不需要类型,不需要分号
2、范围表达式及in循环:
0..4表示0、1、2、3、4
0..<4表示0、1、2、3
a..<e表示a、b、c、d
for(i in 0..4){ }
二、Groovy集合
1、集合定义:
def range = 0..4
def coll = [1,2,3,4]
def array= ["a","b","c"]
2、添加值
array.add("d")
array<< "d"
array[3] = "d"
3、检索(索引从0开始)
array[index]
4、集合操作
Groovy集合允许直接添加或删除单个元素或集合
def coll = [1,2,3,4] coll + 5 //结果为[1,2,3,4,5] coll - [2,3] //结果为[1,4,5]
5、集合函数
(1) join()函数:参数为分隔字符,作用是将集合的元素用指定分隔符拼接成字符串,与javascript的join一样
def coll = [1,2,3,4] coll.join(",") //结果为"1,2,3,4,5"
(2) count()函数:参数为集合中的某元素,作用是统计指定元素在集合中出现的次数
def coll = [2,1,2,3,4,2] coll.count(2) //结果为3
6、分布操作符(spread operator)
def coll = ["Java","Html"]
coll*.toUpperCase() //将集合所有值都转换成大写,结果为["JAVA","HTML"]
7、集合迭代
def coll = [1,2,3,4,5] coll.each{ println it }
类似Jquery的$.each方法,it是关键字,指向迭代到的当前元素。另提前引入闭包概念,each后的{}括起来的代码块就是一个闭包。如果不用it,可以自己指定变量:
def coll = [1,2,3,4,5] coll.each{value -> println value }
三、Groovy映射
Java的映射是键值对的集合,典型的就是Map类型。Groovy映射机制其实就是java.util.LinkedHashMap
1、定义
def map = [name:"java","type":"book"]
注意,key不比是String,Groovy会自动转成String
2、操作
map.put("id",12) prinln map.get("name") //打印结果:java map.alias = "别名" //等价于map.put("alias","别名") prinln map.alias //打印结果:别名 map["description"] = "描述信息" //等价于map.put("description","描述信息") prinln map["description"] //打印结果:描述信息
注意,使用[]从映射获取项时,必须将项作为String引用。
3、迭代映射
map.each{key,value -> println "${key}:${value}" //等价于println key+”:“+value }
四、Groovy闭包
闭包是一个代码块。在集合和映射中的迭代中已经出现了闭包使用例子,对于所有的集合和映射都能使用each闭包进行迭代。闭包除了常出现在迭代中,还有其他用途,如作为参数进行传递使用(Groovy中的函数和方法除外):
//定义一个闭包,接收一个word参数 def excite = {word -> return "${word}!!" //${word}意思是在字符串中使用word变量的值替换 } //调用闭包 excite("java") //打印java excite.call("jsp") //打印jsp
相关推荐
在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...
Groovy结合了Python、Ruby和Smalltalk等语言的特性,同时保留了与Java的无缝集成能力,使得它在编写脚本、构建工具、Web应用以及企业级应用程序开发中都有广泛的应用。 **一、Groovy基础** 1. **语法简洁**: ...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。
### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...
以下是对Groovy学习笔记各章节的详细解释: ### 第1章:数字和字符串 在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。...
通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...
Groovy语法借鉴了多种语言的特性,如Python、Ruby和Java,这使得Java开发人员能够轻松上手。Gradle则是一种强大的构建自动化工具,广泛用于Java、Android以及其他JVM语言的项目,它允许通过Groovy或Kotlin DSL(领域...
2. **DSL支持**:Groovy的强大之处在于其领域特定语言(DSL)能力,Webx可能会提供一套内建的DSL,让开发者能以更简洁的方式定义路由、操作和视图。 3. **自动化工具**:基于Groovy的框架通常会包含一系列自动化...
通过"Java JDK 6学习笔记——ppt简体版",学习者可以系统地学习到如何使用JDK 6进行开发,包括环境配置、基本语法、类库使用、异常处理、IO流、网络编程、多线程等各个方面。PPT格式通常直观易懂,便于快速理解和...
Groovy是一种基于Java虚拟机(JVM)的敏捷开发语言,它融合了Python、Ruby和Smalltalk等语言的特性。Groovy语言能够与Java无缝集成,并且支持动态语言特性,包括动态类型、闭包和元编程等。Groovy的语法非常接近Java...
这份“Java JDK 6学习笔记——ppt简体版”涵盖了Java语言的核心概念、语法特性以及JDK 6的新功能,旨在帮助初学者和有经验的开发者深入理解并掌握这一版本的Java开发环境。 首先,Java JDK 6的安装与配置是学习的...
### Groovy语法系列教程之字符串(三) #### Groovy语言简介 Groovy是基于Java平台的一种敏捷开发语言,它具有动态语言的特性,同时又能与Java无缝集成。Groovy的设计哲学是让程序员能够用更少的代码做更多的事情,...
开始学习Groovy时,可以从基础语法开始,了解变量、控制流、函数和类的用法。然后深入到闭包、元编程等高级主题,最后通过实践项目巩固所学知识。 8. **总结** Groovy作为Java平台上的动态语言,不仅简化了编码,...
Groovy结合了Java的面向对象特性和Python、Ruby的简洁语法,使得它成为Java开发者进行快速开发、自动化任务以及编写简洁代码的理想选择。这份"Groovy学习资料"包含了深入理解和实践Groovy所需的关键知识点,帮助...
Groovy 基础语法 Groovy 是一种基于 Java 平台的高级编程语言,它融合了 Ruby、Python 和 Smalltalk 的一些最有用的功能,同时保留了基于 Java 语言的核心语法。Groovy 提供了更简单的替代语言,且几乎不需要学习...
这篇名为“groovy学习”的博文可能是关于Groovy语言的基础知识、语法特性以及在实际项目中的应用。虽然没有提供具体的博文内容,我们可以根据Groovy的一些关键特点来展开讨论。 1. **Groovy语法**: - Groovy的...
总的来说,"Groovy in Action"提供了全面的学习材料,配合API文档,可以帮助开发者迅速掌握Groovy的精髓,并将之应用到实际项目中。通过阅读这本书和实践其中的示例,你将能更好地理解和利用Groovy的强大力量,提升...