groovy程序设计

        /*********
         * groovy中Object类型存在隐式转换 可以不必使用as强转
         */
        Object munber = 9.343444
        def number1 = 2
        println munber - number1

        if (number1 < munber) {
            println '转换了'
        }

        /************
         *  测试groovy中空字符串运算
         */
        def str1 = "8"
        def str2 = "-1"
        def str3 = "*2"

        GroovyShell shell = new GroovyShell()
        println shell.evaluate(str1 + str2)
        println shell.evaluate(str1 + str3)

        /**
         * 测试字符串
         */
        def str5 = 'java'
        def str6 = 'java '
        println str5 == str6
        println str5.trim() == str6.trim()

        /****
         * 测试运算符号
         */

        def num = 2
        def num1 = 3
        println num << num1

        /****************
         *  测试 进程
         */

        println 'cmd /C dir'.execute().text

        /**************
         * 安全导航操作符的使用
         * ?. 操作符只有对象引用不为空时才会分派调用
         */
        def str7 = null
        def str8 = 'jiao'

        println str7?.reverse() // 不加问好会报错 空指针异常
        println str8.reverse()

/****
 * 使用多赋值
 */
def fullName( fullname) {
    fullname.split(' ')
}
def ( first, last ) = fullName ('jiao xi')

println " $first , $last"

/***********
* 多赋值
* 多余的变量将会设置为null , 多余的值会被 丢弃 。
*/
def ( String cat , String mouse ) = [ 'Tom', 'Jerry', 'Tyke']
def ( String cat1 , String mouse1, String dog ) = [ 'Tom', 'Jerry']
println "$cat and $mouse "
println "$cat1 and $mouse1 and $dog "

/**************
* groovy 中的bool值判定
*
* 类型 为真的条件
* Boolean 值为true
* Collection 集合不为空
* Character 值不为0
* CharSequence 长度大于0
* Iterator hasNext() 为true
* Number Double值不为0
* Map 该映射不为空
* Matcher 至少有一个匹配
* Object[] 长度大于0
* 其他任何类型 引用不为null
*
*/
/****
* 闭包懒加载
*/
def number = 1  def eagerGString = "value == ${number}" def lazyGString = "value == ${ -> number }" assert eagerGString == "value == 1"  assert lazyGString == "value == 1"  number = 2  assert eagerGString == "value == 1"  assert lazyGString == "value == 2"

/***********
* *操作符
*/
int function(int x, int y, int z) { x*y+z }
def args = [4,5,6]
assert function(*args) == 26
 

 

转载于:https://www.cnblogs.com/jsersudo/p/11319048.html

Groovy入门经典是一个唯一能够扩展Java平台的脚本语言,内容全面详尽,浅显易懂,易于选择性阅读。可以作为对Groovy语言感兴趣的计算机软件开发人员的参考书。需要的朋友们就赶紧来下载试试吧!   Groovy提供类似于Java的语法结构,本地化支持映射和列表、方法、类,闭包和构造器等结构。由于具有动态弱类型,以及无缝访问JavaAPI等特性,Groovy语言非常适合子开发中小型规模的应用程序。   相对于Java语言,Groovy语言的表述性更强,抽象程度更高。它使得应用程序开发更加快捷,提升了程序员生产力。Groovy语言可以用作应用程序的“黏合剂”,而不必实现复杂的数据结构和算法。   与Java代码比较起来,Groovy语言的另一个主要优势是,Groovy代码编写量相对小些。在一般情况下,Java代码过于复杂,难于理解和维护。这是因为Java需要大量的模板文件或者转换代码,而Groovy却不需要。   本书是有关Groovy的第一本正式出版物,作者KennethBarclay和JohnSavage介绍了Groovy开发的所有主要领域,并解释了这种创新性的编程语言给Java平台赋予的动态特性。阅读本书只要求具备Java编程的一般性知识。不管你是经验丰富的Java开发者,还是脚本语言的新手,都会得到如何充分利用Groovy语言的专家性指导。   本书特点第一本全面讲解Groovy编程的图书,演示如何快速和轻松地编写适用于Java平台的应用程序和脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值