加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy笔记(1)_简介

发布时间:2020-12-14 17:06:39 所属栏目:大数据 来源:网络整理
导读:Groovy简介: ? 参考书籍:《Groovy入门经典》、《Groovy in Action》 ? 1、Groovy是Java平台上脚本语言,抽象程度更高 可以更简单快速地开发,可以编写更少的代码。 2、与Java语言无缝集成,可称为“超级Java” 使用“类Java”语法,Java成语员可以快速过渡

Groovy简介:

?

参考书籍:《Groovy入门经典》、《Groovy in Action》

?

1、Groovy是Java平台上脚本语言,抽象程度更高

  • 可以更简单快速地开发,可以编写更少的代码。

2、与Java语言无缝集成,可称为“超级Java”

  • 使用“类Java”语法,Java成语员可以快速过渡。
  • Groovy与Java二进制兼容,都生成字节码,所以可以与使用Java语言所编写的框架和组件完美继承,并且效率安全方面比其他脚本语言要高。
  • Groovy对象就是Java对象,使用与JDK相同的API。
  • 可以保护整个Java产业在Java上的巨大投资。

3、在中小型项目中可以替代Java,在大型Java项目中可以嵌入Groovy应用。

?

Groovy特征:

?

1、Groovy = Java - 重复的样板代码

??????????????????????????? +可选的动态类型

??????????????????????????? +闭包(closures)

??????????????????????????? +领域规范语言(DSL)

????????????????????????????+生成器(builders)

????????????????????????????+元编程(metaprogramming)

2、Groovy是没有类型/修饰符/return/iterator,不需要导入集合的Java。Groovy丢掉了许多Java的包袱。

3、不能确定变量类型时将变量类型设为Object

4、DLS:domain specific languages

5、生成器:可以生成XML/HTML/Swing树状数据结构

6、元编程:运行时对类增加行为,类似于AOP。

?

?

搭建开发环境:

?

?

1、JDK1.5或更高版本

  • ?http://java.sun.com
  • 配置好JAVA_HOME,PATH/CLASSPATH(可选)

2、Groovy-1.5.4或更高版本

  • http://groovy.codehaus.org/Download
  • 应该下载Windows-installer:Binary Release
  • GROOVY_HOME与PATH(安装时会自动配置)

3、Eclipse3.3 http://www.eclipse.org

4、MyEclipse6插件或更高版本(Web版本需要)

  • eclipse - help - install/update - Serch for new features to install - url - New Remote Site - URL=

5、MySQL5数据库

6、Jad反编译工具及Eclipse插件(可选)

?

直接来源于Java语法的特性

?

1、关键字与语句

2、类,接口,属性,方法的定义。

3、使用new创建对象。

4、包导入机制。

5、try/catch/finally异常处理机制。

6、运算符,表达式,复制。

7、控制结构。

8、代码注释。

?

Groovy自动导入如下包:

  • groovy.lang.*
  • groovy.util.*
  • java.lang.*
  • java.util.*
  • javautil.regex.*
  • java.net.*
  • java.io.*
  • java.math.BigDecimal
  • java.math.BigInteger

?

数值:

?

?

1、Groovy的一切都是对象。自动装箱与拆箱

2、整数123,-12,0都是Integer类的对象。

  • 定义变量(使用动态类型):def price = 100?等同于 Integer price =new Integer(100)
  • 3.times{println 'Hello'} 打印3次, 3是对象,所以可以用方法。
  • 语句结尾可以不用 ";"? 结尾。

3、浮点数1.5,-3.14都是BigDecimal类的对象

4、数值类型:

  • Integer??????????????????????????????? ? 15
  • Long???????????????????????????????????? ?100L????? ?100l
  • Float????????????????????????????????????? 1.23f ???? ?4.56F
  • Double???????????????????????????????????1.23d?????4.55D
  • java.math.BigInteger???????????? 123g????? 456G
  • java.math.BigDecimal?????????????1.23???????1.23g??????1.23G

?

GDK数值方法:

?

?

1、def store = ' '

?????10.times{store += 'x'}

???? assert store =='xxxxxxxxxx'

?

2、store = ' '

???? 1.upto(5){number -> store +=number}

?????assert store = '12345'

?

3、store = ' '

???? 2.downto(-2){number -> store = number? + ' '}

???? assert stroe = '2 1 0 -1 -2'

?

4、store = ' '

????0.step(0.5,0.1){number -> store += number? + ' '}??????? 从0开始加到0.5,每次加0.1

??? assert store == '0 0.1 0.2 0.3 0.4'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读