Groovy02_字符串与循环

1. 字符串

字符串
单引号与双引号的区别 (使用闭包时候惰性求值)
多行字符串
对字符串类型的一些扩展
(execute、find)


class lsn_2_0 {

    static String test(){
        // 这是java的写法
        //return "111"

        // 但是在Groovy当中,无论是我们的函数还是我们的闭包,
        // 我们不写return,他会默认把这个方法体(代码块)当中的最后一行作为一个返回值
        "111"
        "222"
    }

    // (String[] args) 代表接收String[] 类型的参数
    // (args)   前面不写 代表能接收任意类型的参数
    static  void main (args){
//        println "Grovvy"
        // 1. 字符串   i 和 j 都是String类型  ,k 是char类型
        def k = 'a' as char
        def i = 'Groovy'
        def j = "Grovvy"
        println k.class         //  class java.lang.Character
        // 2. 字符串的拼接
        //      1. 用 + 拼接
        def z = "zekign" + i
        println z               // zekignGroovy
        //      2. 用 String.format   整形用%d char 用%c  stirng 用%s
        String.format("gr%doovy",9)
        println String.format("gr%doovy",9)     // gr9oovy
        println String.format("gr%soovy",i)     // grGroovyoovy
        println String.format("gr%coovy",k)     // graoovy
        //      3. 用${}  跟Linux的shell脚本一样  只用双引号的时候才能用
        def a = 'a'
        def b = "Zek${a}ing"
        println b               // Zekaing
        //          闭包,就是可执行的代码块,跟函数一样可以接收参数
        //          在-> 前面定义我们的参数列表
        //          这个代码块会在我们使用到这个变量的时候执行
        def c = "Grov${->a}vy"  // 后面用到闭包在说
        a = '123'   // 惰性求值的方式
        println c               // Grov123vy

        println test()

        // 3. 多行字符串
        //      d java写法
        //      e  3个双引号中间写  要换行直接回车
        def d = "java\nddd  groovy"
        def e = """java
eeee groovy"""
        println d
        println e

        // 4. Groovy为很多类都注入了很多方法
        //      4.1
        //      所以我们可以直接使用对象进行条件判断,例如
        "".asBoolean()
        //      4.2
        if("".asBoolean()){  // 这种写法和 if("")  是一样的,他会自动调用asBoolean方法

        }
        //      4.3 如果定义的是整形
        def f = 9
        f.asBoolean()
        //      4.4
        "cmd /c groovy -v".execute()  // window这样写,如果是Linux 或者 苹果系统  "groovy -v".execute()
        println "cmd /c groovy -v".execute().text  // Groovy Version: 2.4.14 JVM: 1.8.0_111 Vendor: Oracle Corporation OS: Windows 10

        println "groovy"[0]         // g
        println "groovy" - "vy"     // groo
    }
}

2. 循环

IntRnage i..j(0..9)
times/downto/upto/step



// 循环

for (int i = 0; i<10;++i){
    print i+' '
}
// 0 1 2 3 4 5 6 7 8 9
println("")
for (i in new IntRange(0,9)){
    print i+' '
}
// 0 1 2 3 4 5 6 7 8 9
println("")
for (i in new IntRange( 0 , 9 ,true)){
    print i+' '
}
// 9 8 7 6 5 4 3 2 1 0
println("")
for (i in new IntRange(false,0,9)){
    print i+' '
}
// 0 1 2 3 4 5 6 7 8
println("")
for (i in 0..9){
    print i+' '
}
// 0 1 2 3 4 5 6 7 8 9
println("")
def j = 0..9
println j.class
// class groovy.lang.IntRange
for (i in 0..<9){
    print i+' '
}
// 0 1 2 3 4 5 6 7 8
println("")
// 当我们定义一个闭包的时候,我们没有给他指定参数列
// 表的时候,他是默认可以接受一个参数的
// 这个参数我们就用it来接收他
10.times {
    print it + ' '
}
// 0 1 2 3 4 5 6 7 8 9
println("")

10.upto(15){
    print it + ' '
}
// 10 11 12 13 14 15
println("")
10.downto(5){
    print it + ' '
}
// 10 9 8 7 6 5
println("")
10.step(15,2){
    print it + ' '
}
// 10 12 14
println("")
10.step(6,-2){
    print it + ' '
}
// 10 8 6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值