Groovy基本语法(3)
发布时间:2020-12-14 16:55:20 所属栏目:大数据 来源:网络整理
导读:5、Groovy中的循环 ? ? ? 可以说,Groovy把Java循环结构折腾的面目全非,似乎主流脚本语音能用到的循环方式Groovy都给加了进去,实际上不同的循环语法和功能差异很小,这类玩意儿多了意义并不明显,例如我就比较喜欢for循环而不太爱用while循环,但并不是说w
5、Groovy中的循环 package plswg.edu.groovy.basic // groovy中可以使用传统的while循环或for循环 n = 0 while (n < 10) { print n + " " n++ } println "" for (i = 0; i < 10; i++) { print i + " " } println "rn" // groovy引入新风格的for循环 for (i in 0 .. 9) { // (i in 0 .. 9)表示循环从i=0开始,到i<=9时结束 print i + " " } println "" // 利用数值类型可以也可以进行循环 // 利用整数的upto方法进行循环 i = 0 i.upto(9) { // 整数的upto方法可以启动一个循环,循环体在一个闭包内执行 print it + " " // 在闭包内部,it关键字表示循环过程的整数值 } println "; at the end of loop,the var i is " + i // 循环结束后i的值仍是0,不会增加到9 // upto方法可以用在常量上 10.upto(19) { // 10.upto(20)表示从10开始循环到19结束 print it + " " } println "" // upto方法中的整数是循环的起始点,time方法可以将整数作为循环的终止点 10.times { // 10.times表示从0开始循环到9结束 print it + " " } println "" // step方法可以设置循环的步长值 0.step(11,2) { // 0.step(11,2)表示从0循环到11,每次循环值增加2 print it + " " } println "rn" // 例子,利用groovy新语法输出一个99乘法表 // 方法1 for (i in 1 .. 9) { for (j in 1 .. 9) { z = i * j print ((z < 10 ? " " + z : z) + " ") } println "" } // 方法2 1.upto(9) { x = it 1.upto(9) { z = x * it print ((z < 10 ? " " + z : z) + " ") } println "" } // 方法3 9.times { x = it + 1 9.times { z = x * (it + 1) print ((z < 10 ? " " + z : z) + " ") } println "" }? ? ? 可以看到,Groovy对Java循环结构作了如下的修整:
6、字符串 ? ? ? Groovy对字符串增加了一些新的特性,让字符串操作更加简单了: package plswg.edu.groovy.basic
// groovy中对字符串的使用做了大量的简化
// 获取字符串中的字符
s = "Hello"
println s[0] // 输出'H'
// 遍历字符串中的所有字符
s.each {
print it + "," // 遍历字符串中的所有字符
}
println ""
// 截取字符串
s1 = s[1..3] // 截取s字符串标号从1到3的3个字符,组成新的字符串赋予s1
// 该语法是String类的substring方法的简化
println s1
// 模板式字符串
n = 100
s1 = "The number n is ${n}" // ${n}表示将变量n的值放在字符串该位置
println s1
// 带格式的长字符串
// """和"""之间的所有字符都会被算做字符串内容,包括// /*以及回车,制表符等
s = """
大家好
欢迎大家学习Groovy编程
Groovy is a better Java
"""
println s
// groovy中单引号的作用
// 在不定义类型时,单引号也表示字符串
c1 = 'A'
println c1.getClass().getName()
// 要明确的定义字符类型,需要给变量增加定义
char c2 = 'A'
println c2.getClass().getName()
// 取消转义字符
s = 'c:windowssystem'
println s
s = /c:windowssystem/ // 利用/字符串/定义的字符串
println s
// 字符串运算
s = "hello"
s = s + " world" // +运算符用于连接字符串
println s
s -= "world" // -可以从字符串中去掉一部分
println s
s = s * 2 // *可以让字符串重复n次
println s
// 字符串比较
s1 = "Abc"
s2 = "abc"
println s1 == s2 ? "Same" : "Different" // 执行s1.equals(s2)
println s1 != s2 ? "Different" : "Same" // 执行!s1.equals(s2)
println s1 > s2 ? "Great" : "Less" // 执行s1.compareTo(s2) > 0
println s1 < s2 ? "Less" : "Great" // 执行s1.compareTo(s2) < 0
// s1 >= s2,s1 <= s2
println s1 <=> s2 == 1 ? "Same" : "Different" // 执行s1.compareTo(s2) ? ? ? Groovy增加了对字符串的如下操作:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |