关于Groovy
Groovy是什么?简单的说,Groovy是下一代的Java语言,和Java一样,运行在JVM中。Groovy、Java与JVM的关系就像C#、VB.NET与CLR的关系一样。
开发环境
本人开发环境:
JDK1.6 + Eclipse3.6 + Groovy-Eclipse 2.1.1
Groovy语法简介
1、没有类型的Java
作为动态语言,Groovy中的所有变量都是对象,在声明变量时,Groovy不要求强制类型声明(当然,强制类型声明也没有语法错误),仅仅要求使用关键字def(有些情况下,甚至连def都不需要)。
l Groovy变量在运行时确定,类型为变量所指对象的类型。
def var = "HelloWorld"
println "${var},${var.class}"
var = true
println "${var},${var.class}"
上面代码中变量替换${var}会被var 内容所替代
2、不需要的public
可以把main方法前的public去掉,实际上,Groovy里的方法默认是public的
甚至可以把main方法去掉,整个groovy文件中只留下package语句
3、不需要的语句结束符
Groovy语句没有结束符。当然,为了与Java保持一致,在每个语句后加上分号结束符也是正确的。
4、字符串的连接
l 方法一:类似Java的方法:
def var = "Hello"+
"World,"+
"Groovy"
println var
l 方法二:更groovy的写法:
def var = """Hello
World,
Groovy"""
println var
上面代码实质上是允许字符串跨行(空白字符会保留)
5、for循环
l 方式一:类似Java的写法:
for(int i = 0; i<5; i++){
println i
}
l 方式二:Groovy的写法:
for(i = 0; i<5; i++){
println i
}
l 方式三:Groovy的写法(使用“范围”)
for(i in 0..<5){
println i
}
6、String和GString
1. Groovy支持标准的java.lang.String(用单引号括住)和GString(用双引号括住)。
2. GString支持变量替代,如"this ${var}"
3. String/GString支持下标索引访问,和简化的取紫川操作,代码如下:
def str = "Hello World!"
println str[0]
println str[0..5] //输出Hello
7、范围
范围的概念和Pascal的“子界”一样,是一系列的值,例如:
“0..4”表示包含整数0、1、2、3、4
“0..<4”表示包含整数0、1、2、3
“a..e”表示包含字母a、b、c、d、e
8、方法
l Groovy的方法支持默认参数值,在不引起歧义的情况下,方法的调用可以省略圆括号:
def repeat(var,time=5){
for(i in 0..<time){
println var
}
}
repeat 'Hello World!'
上面的repeat重复打印var参数,默认重复次数是5
l 可变参数:
def sum(int...vars){
def total = 0
for(i in vars){
total += i
}
return total
}
println sum(1,2,3)
9、集合
Groovy支持最常见的两个Java结合:java.util.Collectiono和java.util.Map。
上面提到的“范围”实际上也是结合的一种(java.util.List)
l Collection:
(1)集合的定义:
def col = [1,2,3]
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
(2)集合操作(添加、删除、连接)
col.add 4 //添加一个元素
col << 5.1 //添加一个元素
col[col.size()]='6' //添加一个元素
col += 7 //添加一个元素
col -= '6' //减去一个元素'6'
col += ['8','9'] //添加一个集合
col -=col[6..7] //减去一个集合
println col.join('-')//输出用'-'连接的所有集合元素
(3)集合的索引
数组下标方式:
println col[0] //输出第0个元素
负索引(索引倒数第几个元素):
println col[-1] //输出倒数第1个元素
几点说明:
1.使用 [value, ...] 来初始化
2.使用 [] 来声明一个空Collection
l Map:
Map是“键-值”对的集合,在Groovy中,键可以是任意类型的对象(实际上Groovy中的Map就是java.util.LinkedHashMap)
(1)map的定义:
def map = ['name':'ZhangSan','sex':'M','age':15]
(2)Map添加项
map.put 'height', 180
map += ['weight':70]
map.father = 'LiSi'
(3)Map索引
println map['father']
println map.name
println map.age
几点说明:
1. 使用 [name:value, ...] 的方式来初始化
2. 使用 [ ; ] 的方式来声明一个空Map
l Range:
Range是Groovy中的一个集合类,继承自java.util.List,所以可以像使用List一样使用。
下面是Range的使用示例:
def range = 3..10
assert range.size() == 8
assert range.get (1) == 4
assert range instanceof java.util.List
assert range.contains (8)
几个说明:
1. Range元素的类型可以是int、char
2. 通过“范围”来初始化
3. 可以像其他集合一样使用
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment--> ---------------------------华丽的分割线-----------------------------
未完待续
<!--EndFragment-->
分享到:
相关推荐
在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...
3. **Groovy Shell和GroovyConsole**: 这两个工具是学习和测试Groovy代码的好帮手,可以快速尝试和验证代码片段。 4. **GString**: Groovy的字符串支持模板语法,可以方便地进行字符串格式化,如`"Hello, ${name}"`...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。
### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...
以下是对Groovy学习笔记各章节的详细解释: ### 第1章:数字和字符串 在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。...
### Groovy 快速入门指南知识点...Groovy 的强大之处在于它的简洁性和灵活性,这些特性使得 Groovy 成为一种非常易于学习和使用的编程语言。通过掌握这些基础知识,您可以迅速地使用 Groovy 开发出高效、可靠的软件。
通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...
Groovy快速入门.pptx于Groovy的传说有很多,最近也越来越热,有人甚至说Groovy 是 JVM 的一个替代语言。我列几点特性,大家自己判断:是一个基于Java虚拟机的敏捷动态语言。它构建在强大的Java语言之上并添加了从...
GROOVY入门经典GROOVY入门经典GROOVY入门经典GROOVY入门经典
Groovy 入门教程 Groovy 是一种基于 Java 语言的脚本语言,运行在 JVM 中,语法与 Java 相似,但抛弃了 Java 的一些烦琐的语法规则,提供了更加简洁和灵活的编程体验。 Groovy 的特点 1. 简洁的语法:Groovy 语法...
- **闭包**:Groovy的闭包是其强大功能之一,它允许你定义可重用的代码块,可以作为参数传递,也可以作为返回值。 - **元编程**:Groovy的元编程能力让你可以在运行时修改或扩展类的行为。 - **GString**:...
- GroovyConsole是一个交互式的IDE,适合测试和学习Groovy代码,而GroovyShell允许在控制台环境下直接运行Groovy脚本。 以上内容仅为Groovy入门的基础知识,Groovy还有更多高级特性如AST转换、GroovyShell、 Grape...
Groovy_in_Action.pdf Groovy经典入门.pdf 使用Grails快速开发Web应用.pdf 在Eclipse里使用Grails类创建工具.pdf Programming Groovy. Dynamic Productivity for the Java Developer.pdf等一系列groovy资源
这两份文档将为你提供一个全面的Gails和Groovy学习路径,帮助你快速掌握这两个工具,从而高效地开发Java平台上的Web应用。通过深入实践,你将能够充分利用Gails的灵活性和Groovy的简洁性,打造出高效、易维护的应用...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个扩展,可以无缝集成到Java项目中。...通过阅读《Groovy经典入门》这本书和实践其中的示例,你可以快速掌握Groovy语言并开始利用其强大的功能。
Groovy入门经典是一个唯一能够扩展Java平台的脚本语言,内容全面详尽,浅显易懂,易于选择性阅读。可以作为对Groovy语言感兴趣的计算机软件开发人员的参考书。需要的朋友们就赶紧来下载试试吧! Groovy提供类似...
此外,Groovy支持闭包(Closures),这是其强大的功能之一,可以用来创建函数式编程风格的代码。 Groovy还提供了许多其他特性,比如元编程(Metaprogramming)、领域特定语言(DSLs)构建能力,以及对Java库的无缝...