1.下载groovy插件,地址:http://dist.codehaus.org/groovy/distributions/update/GroovyEclipse.zip
2、解压,把目录features和plugins 拷贝到eclipse对应的目录下。
3、eclipse中新建Groovy类HelloGroovy.groovy
/**
*
*/
package com.tonyj.groovy
/**
* @author Administrator
*
*/
public class HelloGroovy{
//public除去 默认 public
static void main(def args){
//不需要的语句结束符;
//变量操作 不需要声明类型
def var="""hello
world
groovy!"""
println var //打印出来的格式保留换行
println var.class//打印 class java.lang.String
var = 1
println var.class // 打印 class java.lang.Integer
var = true
println var.class //打印 class java.lang.Boolean
//循环操作 支持Gstring ${i} ${val}
def val = "testw"
for(i in 0..2){
println "This is ${i}:${val}"
}
//内集操作
def collect=["a","b","c"]
//内集添加的三种方式
collect.add(1);
collect<<"come on";
collect[collect.size()]=100.0
//循环遍历打印
collect.each{println it}
//Collection使用类似数组下标的方式进行检索
println collect[collect.size()-1] //打印100
//groovy支持负索引
println collect[-1] //索引其倒数第1个元素 打印100
//Collection支持集合运算
collect=collect+5 //在集合中添加元素5
println collect[collect.size()-1] //打印5
collect=collect-'a' //在集合中减去元素a(第1个)
println collect[0] //现在第1个元素变成b了 打印b
//map的定义
def map=['name':'john','age':14,'sex':'boy']
map=map+['weight':25] //添加john的体重
map.put('length',1.27) //添加john的身高
map.father='Keller' //添加john的父亲
//检索
println map['father'] //通过key作为下标索引
println map.length //通过key作为成员名索引
// 闭包 Closure
map.each({key,value-> //key,value两个参数用于接受每个元素的键/值
println "$key:$value"})
map.each{println it} //it是一个关键字,代表map集合的每个元素
/**
* 打印
* name:john
* age:14
* sex:boy
* weight:25
* length:1.27
* father:Keller
* */
map.each({ println it.getKey()+"-->"+it.getValue()})
def say={word->
println "Hi,$word!"
}
say('groovy') //打印Hi,groovy!
say.call('groovy&grails')//打印Hi,groovy&grails!
//类处理
def person1=new Person()
person1.name='kk'
person1.age=20
println person1
def person2=new Person(['name':'gg','age':22]) //[]号可以省略
println person2
//可变变量的方法调用
println sum(1)
println sum(1,2)
println sum(1,2,3)
//枚举类型
def today = Day.SATURDAY
switch (today) {
//Saturday or Sunday
case [Day.SATURDAY, Day.SUNDAY]:
println "Weekends are cool"
break
//a day between Monday and Friday
case Day.MONDAY..Day.FRIDAY:
println "Boring work day"
break
default:
println "Are you sure this is a valid day?"
}
// Elvis操作符
def name
def displayName = name ? name : "Unknown"
//基于“不重复”的原则
displayName = name ?: "Unknown"
println displayName
//动态性 msg是一个String,通过元类,我们为msg增加了一个String 类中所没有的方法up
def msg = "Hello!"
println msg.metaClass
String.metaClass.up = { delegate.toUpperCase() }
println msg.up()
//通过元类,我们还可以检索对象所拥有的方法和属性(就象反射)
msg.metaClass.methods.each { println it.name }
msg.metaClass.properties.each { println it.name }
//元类判断有没有一个叫up的方法
if (msg.metaClass.respondsTo(msg, 'up')) {
println msg.toUpperCase()
}
//推断它有没有一个叫bytes的属性
if (msg.metaClass.hasProperty(msg, 'bytes')) {
println msg.bytes.encodeBase64()
}
}
//可变变量
static int sum(int... var) {
def total = 0
for (i in var)
total += i
return total
}
}
class Person {
/**
* 不需要public修饰符
* 不需要类型说明
* 不需要getter/setter方法
* 不需要构造函数
* 不需要return
* 不需要()号
*/
def name
def age
//Groovy 默认返回方法的最后一行的值
String toString(){//注意方法的类型String,因为我们要覆盖的方法为String类型
"$name,$age"
}
}
/**
*枚举类型
*
*/
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY
}
分享到:
相关推荐
Groovy 入门教程 Groovy 是一种基于 Java 语言的脚本语言,运行在 JVM 中,语法与 Java 相似,但抛弃了 Java 的一些烦琐的语法规则,提供了更加简洁和灵活的编程体验。 Groovy 的特点 1. 简洁的语法:Groovy 语法...
Groovy是一种基于Java平台的动态、灵活的编程语言,它设计的目标是简化开发流程,提高开发效率。...通过阅读《Groovy入门经典》这本书,你可以系统地了解Groovy的基础知识和高级特性,逐步掌握这个强大而有趣的语言。
以上内容仅为Groovy入门的基础知识,Groovy还有更多高级特性如AST转换、GroovyShell、 Grape依赖管理等,等待你进一步探索。通过阅读《Groovy经典入门推荐版》PDF,你将能够全面了解这个语言,并迅速上手。
本书“Groovy入门经典”提供中英文双语版本,对于想要学习或深入了解Groovy的开发者来说,是一份非常宝贵的资源。 首先,Groovy的语法简洁,易于理解。与Java相比,Groovy省略了许多不必要的括号和分号,这使得代码...
入门Groovy,首先需要了解其基本语法结构。Groovy的语法与Java类似,但更简洁。例如,类定义可以省略public关键字,变量声明可以省略类型,只需写出变量名即可。Groovy也支持使用`def`关键字来定义未指定类型的变量...
Groovy入门经典一书是Groovy编程语言的入门教材,旨在引导Java开发人员和脚本语言新手掌握Groovy语言的基本知识和高级应用。Groovy作为一种动态脚本语言,与Java有相似的语法结构,但在功能和灵活性上远超过Java。...
Groovy与Java语法相似,但更为简洁,减少了程序员的编码工作量,尤其适合快速开发和脚本编写。 在开发环境中,Groovy的起步要求包括JDK 1.5或更高版本。对于IDE,Eclipse是常见的选择,可以通过安装Groovy插件来...
《Groovy入门经典》奉书内容全面详尽,浅显易懂,易于选择性阅读。可以作为对Groovy语言感兴趣的计算机软件开发人员的参考书。.., Groovy是唯一能够扩展Java平台的脚本语言。Groovy提供类似于Java的语法结构,本地化...
### 经典Groovy入门资料知识点详解 #### 一、Groovy简介与快速入门 **1.1 使用Groovy** Groovy是一种灵活的面向对象编程语言,它与Java有着良好的兼容性,允许开发者以简洁而强大的方式编写代码。对于那些急于...
在这篇关于“Groovy入门”的第四讲中,我们将深入探讨这两个主题。 ### 1. 数据搜索功能 在Groovy中,数据搜索通常涉及到数组、集合或字符串的遍历。Groovy的列表和集合提供了丰富的API来帮助我们高效地查找特定...
在"Groovy入门]第二讲.完成文本界面的程序框架"这个主题中,我们将深入探讨如何使用Groovy构建一个简单的文本界面程序。 首先,让我们了解Groovy的基本语法特点。Groovy允许开发者使用更接近自然语言的语法,比如...
这篇Groovy入门教程由杨宏焱在2009年5月撰写,主要介绍了Groovy的基础知识和开发环境的配置。 首先,Groovy被定义为下一代的Java语言,它与Java兼容并运行在相同的平台上。Groovy的语法与Java相似,但更简洁,避免...
Groovy是一种基于Java平台的动态编程语言,它与Java语法高度兼容,但提供了更简洁、更灵活的写法,使得开发效率得以提升。本讲主要介绍Groovy的基础知识,包括如何进行项目演示以及如何搭建Groovy的开发环境。 首先...
本文将深入探讨如何轻松入门Groovy,搭建Groovy的开发环境。 1. **安装Java开发环境**: 在开始Groovy开发之前,首先确保你的系统已经安装了Java Development Kit (JDK)。Groovy是基于Java的,因此需要JDK来运行和...
groovy初学者可以参考,Groovy 的一个好处是,它的语法与 Java 语言的语法很相似。虽然 Groovy 的语法源于 Smalltalk 和 Ruby 这类语言的理念,但是可以将它想像成 Java 语言的一种更加简单、表达能力更强的变体。...
本入门实例代码详细地涵盖了Groovy的一些核心概念和常用特性,包括字符串操作、Map的使用以及闭包等。 1. **字符串操作**: - Groovy中的字符串可以是单引号或双引号包裹的。双引号中的变量可以直接展开,单引号则...