`
rsljdkt
  • 浏览: 454371 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Groovy学习笔记之快速入门篇(一)

阅读更多

关于Groovy

Groovy是什么?简单的说,Groovy是下一代的Java语言,和Java一样,运行在JVM中。GroovyJavaJVM的关系就像C#VB.NETCLR的关系一样。

开发环境

本人开发环境:

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、StringGString

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”表示包含整数01234

0..<4”表示包含整数0123

a..e”表示包含字母abcde

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.Collectionojava.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

RangeGroovy中的一个集合类,继承自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元素的类型可以是intchar

2. 通过“范围”来初始化

3. 可以像其他集合一样使用

<!--EndFragment-->

<!--EndFragment-->

<!--EndFragment-->

<!--EndFragment-->

<!--EndFragment-->

<!--EndFragment-->

<!--EndFragment-->

<!--EndFragment--> ---------------------------华丽的分割线-----------------------------

未完待续

<!--EndFragment-->
0
2
分享到:
评论

相关推荐

    Groovy学习笔记 PDF版

    在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...

    Groovy 学习笔记

    3. **Groovy Shell和GroovyConsole**: 这两个工具是学习和测试Groovy代码的好帮手,可以快速尝试和验证代码片段。 4. **GString**: Groovy的字符串支持模板语法,可以方便地进行字符串格式化,如`"Hello, ${name}"`...

    Groovy学习笔记.pdf

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。

    Groovy学习笔记

    ### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...

    groovy学习笔记

    以下是对Groovy学习笔记各章节的详细解释: ### 第1章:数字和字符串 在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。...

    groovy快速入门指南(中文)

    ### Groovy 快速入门指南知识点...Groovy 的强大之处在于它的简洁性和灵活性,这些特性使得 Groovy 成为一种非常易于学习和使用的编程语言。通过掌握这些基础知识,您可以迅速地使用 Groovy 开发出高效、可靠的软件。

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...

    Groovy快速入门.pptx

    Groovy快速入门.pptx于Groovy的传说有很多,最近也越来越热,有人甚至说Groovy 是 JVM 的一个替代语言。我列几点特性,大家自己判断:是一个基于Java虚拟机的敏捷动态语言。它构建在强大的Java语言之上并添加了从...

    GROOVY入门经典.pdf

    GROOVY入门经典GROOVY入门经典GROOVY入门经典GROOVY入门经典

    Groovy入门教程[参照].pdf

    Groovy 入门教程 Groovy 是一种基于 Java 语言的脚本语言,运行在 JVM 中,语法与 Java 相似,但抛弃了 Java 的一些烦琐的语法规则,提供了更加简洁和灵活的编程体验。 Groovy 的特点 1. 简洁的语法:Groovy 语法...

    Groovy 学习资料

    - **闭包**:Groovy的闭包是其强大功能之一,它允许你定义可重用的代码块,可以作为参数传递,也可以作为返回值。 - **元编程**:Groovy的元编程能力让你可以在运行时修改或扩展类的行为。 - **GString**:...

    groovy 经典入门 通俗易懂

    - GroovyConsole是一个交互式的IDE,适合测试和学习Groovy代码,而GroovyShell允许在控制台环境下直接运行Groovy脚本。 以上内容仅为Groovy入门的基础知识,Groovy还有更多高级特性如AST转换、GroovyShell、 Grape...

    Groovy_in_Action Groovy经典入门 使用Grails快速开发Web应用

    Groovy_in_Action.pdf Groovy经典入门.pdf 使用Grails快速开发Web应用.pdf 在Eclipse里使用Grails类创建工具.pdf Programming Groovy. Dynamic Productivity for the Java Developer.pdf等一系列groovy资源

    Gails入门指南(中文) + Groovy快速入门(中文)

    这两份文档将为你提供一个全面的Gails和Groovy学习路径,帮助你快速掌握这两个工具,从而高效地开发Java平台上的Web应用。通过深入实践,你将能够充分利用Gails的灵活性和Groovy的简洁性,打造出高效、易维护的应用...

    groovy入门经典,groovyeclipse 插件

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个扩展,可以无缝集成到Java项目中。...通过阅读《Groovy经典入门》这本书和实践其中的示例,你可以快速掌握Groovy语言并开始利用其强大的功能。

    Groovy入门经典.pdf

    Groovy入门经典是一个唯一能够扩展Java平台的脚本语言,内容全面详尽,浅显易懂,易于选择性阅读。可以作为对Groovy语言感兴趣的计算机软件开发人员的参考书。需要的朋友们就赶紧来下载试试吧!  Groovy提供类似...

    Groovy入门教程.doc

    此外,Groovy支持闭包(Closures),这是其强大的功能之一,可以用来创建函数式编程风格的代码。 Groovy还提供了许多其他特性,比如元编程(Metaprogramming)、领域特定语言(DSLs)构建能力,以及对Java库的无缝...

Global site tag (gtag.js) - Google Analytics