一、Groovy编写类
Groovy可以跟Java一样,编写一个类,也可以直接在上面编写代码,如:
public class HelloGroovy{public static void main(String[] args){def name="Hello"println(name)}}
def x=1.23println x
二、Groovy声明变量
Groovy可以像java一样,先声明类型,也可以直接用像kotlin类似,用def来自动匹配值的类型
int a=0def b=0
Groovy的字符串可以用单引号(‘’),双引号(“”),三引号(‘’’ ‘’’)来
单引号跟双引号一样,三引号代表保留里面的格式
def Hello='''Hello1Hello2Hello3'''println(Hello)
三、基础类型与闭包
1、循环
int x = fab(5)println xint x2 = fab2(5)println x2int fab(int number) {int result = 1//从1循环到指定数,1.upto(number, { num -> result *= num })return result}int fab2(int number) {int result = 1number.downto(1) {result *= it}return result}
upto:从1循环到指定数
downto:从指定数循环到1
2、字符串与闭包
String str="the 2 and 3 is 5"str.each {print it}println()//find来查找符合条件的第一个,输出2println str.find{it.isNumber()}//找到所有符合条件的字符def list = str.findAll{it.isNumber()}println list.toListString()//字符串中有符合条件的就返回trueprintln str.any{it.isNumber()}//字符串所有符合条件才返回trueprintln str.every{it.isNumber()}//对每个值进行处理def collectList= str.collect{it.toUpperCase()}println collectList.toListString()

each:遍历字符串
find:找出符合条件的第一个字符
findAll:找出所有符合条件的字符
any:字符串中有符合条件的就返回true
every:字符串所有符合条件才返回true
collect:对每个值进行处理
3、列表与闭包
def sortList=[6,-3,9,2,-7,1,5]//sortList.sort()sortList.sort{ a,b->a==b?0:Math.abs(a)<Math.abs(b)?-1:1}println sortListdef sortStringList=['abc','z','Hello','groovy','java']sortStringList.sort{return it.size()}println sortStringListdef findList = [-3, 9, 6, 2, -7, 1, 5]println findList.min()println findList.max()println findList.count{return it%2==0}
sort:对列表进行排序(可自定义条件)
min:最小值
max:最大值
count:统计(条件)
contains:包含
4、影射(字典)
def colors = [red: 'FF0000', green: '00ff00', blue: '0000ff']colors.yellow='FFFF33'println colors.bluecolors.each {println(it.key +","+ it.value)}def group=colors.groupBy {return it.key=='red' ?"红色":"其他颜色"}println group.toMapString()
5、范围
def range=1..10println range.contains(10)println range.fromprintln range.torange.each { print "$it " }def getGrade(Number number){def result=""switch (number){case 0..<60:result="不及格"breakdefault:result="及格"break}}println getGrade(75)
