groovy基础语法学习,androidwebview白色

本文介绍了Groovy语言的基础语法,包括数据类型转换、大小写处理、逻辑控制以及范围遍历等,并通过示例展示了Groovy在Android WebView开发中的应用,帮助理解Groovy在移动开发中的作用。
摘要由CSDN通过智能技术生成
  • 数据类型转换

*/

println str.toBoolean()//false

//强制转换为boolean

println str as boolean//true

//println str.toInteger()

/**

  • 大小写

*/

println str.toLowerCase()//groovy hello huangxiaoguo

println str.toUpperCase()//GROOVY HELLO HUANGXIAOGUO

  • 逻辑控制

println “------------------switch--------------------”

def x = “a”;

def result;

switch (x.class) { //这个相当于

case “a”:

result = “我是 a”

break

case ‘b’:

result = “我是 b”

break

case [4, 5, 6, ‘c’]😕/列表

result = “我是个数组”

break

case 10…50://范围

result = “我是10到50的数”

break

case Integer:

result = “我是Integer类型”

break

case BigDecimal:

result = “我是BigDecimal类型”

break

case String:

result = “我是String类型”

break

default:

result = “default”

break

}

println result//我是String类型

println “------------------switch--------------------”

/**

  • 对范围的for循环

*/

def sum=0;

for (i in 0…9){

sum+=i;

}

println sum//45

/**

  • 对list的循环

*/

def sum1=0;

for (i in [1,3,5,32,4,2,6,9,5,45,1]){

sum1+=i;

}

println sum1//113

/**

  • 对Map进行循环

*/

def sum2=0;

for (i in [‘a’:1,“b”:2,“c”:“ha”]){

sum2+=i.value

}

println sum2//3ha

  • 数据结构

/**

  • 数据结构

  • 范围

*/

def range=1…10;

println range[0]//1

println range.contains(10)//true

println range.contains(11)//false

println range.from//1

println range.to//10

/**

  • 遍历

*/

//第一种

range.each {println it}

//第二种

for (i in range){

println i

}

/**

  • 范围使用

  • @param number

*/

def getGrade(Number number){

def result

switch (number){

case 0…<60:

result=‘不及格’

break

case 60…<70:

result=‘及格’

break

case 70…79:

result=‘良好’

break

case 80…<100:

result=‘优秀’

break

}

return result

}

def result=getGrade(80)

println result//优秀

/**

  • 数据结构

  • 列表

*/

println “------------------------------------------------列表的定义-----------------------------------------”

//def list =new ArrayList()//java的定义方式

def list = [1, 2, 3, 4, 5]

println list.class//ArrayList

def array = [1, 2, 3, 4, 5] as int[]

int[] array2 = [1, 2, 3, 4, 5]

println array.class//数组

println array2.class//数组

println “------------------------------------------------列表的排序-----------------------------------------”

/**

  • java的方式

*/

def sortList = [6, 12, 1, -8, 5, -2, 5, 55]

Comparator mc = { a, b -> a == b ? 0 : Math.abs(a) < Math.abs(b) ? -1 : 1 }

Collections.sort(sortList, mc)

println sortList

/**

  • groovy的方式

*/

def sortList1 = [6, 12, 1, -8, 5, -2, 55]

sortList1.sort { a, b -> a == b ? 0 : Math.abs(a) < Math.abs(b) ? 1 : -1 }

println sortList1

def sortStringList = [‘abc’, ‘z’, ‘huang’, ‘hello’, ‘groovy’]

sortStringList.sort { it -> return it.size() }

println sortStringList

println “------------------------------------------------列表的查找-----------------------------------------”

def findList = [-3, 6, 2, 7, -9, 1, 5]

int result = findList.find { return it % 2 == 0 }

println result//6

def result1 = findList.findAll { return it % 2 != 0 }

println result1.toListString()//[-3, 7, -9, 1, 5]

def result2 = findList.any { return it % 2 != 0 }

println result2//true

def result3 = findList.every { return it % 2 != 0 }

println result3//false

def result4 = findList.min()

println result4//-9

def result5 = findList.max()

println result5//7

def result6 = findList.min { return Math.abs(it) }

println result6//1

def result7 = findList.max { return Math.abs(it) }

println result7//-9

def count = findList.count { return it % 2 == 0 }

println count//2

/**

  • 数据结构

  • 映射

*/

println “------------------------------------------------map的定义-----------------------------------------”

//def list =new HashMap()//java的定义方式

def colors = [red : ‘ff0000’,

green: ‘00ff00’,

blue : ‘0000ff’]

def colors1 = [red1 : ‘ff0000’,

green1: ‘00ff00’,

blue1 : ‘0000ff’]

/**

  • 索引方式

*/

println colors[‘green’]

println colors.blue

/**

  • 添加元素

*/

colors.yellow = ‘ffff00’

colors.compute = [a: 1, b: 2]

colors.putAll(colors1)

colors.remove(“red1”)

println colors.toMapString()

println colors.getClass()//LinkedH

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值