Groovy初体验之基本类型

本文介绍了使用Groovy语言进行基本编程操作,包括HelloWorld、变量、列表和映射、条件执行和布尔表达式等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


打开groovyConsole,一下操作均在groovyConsole里进行操作。

一、Hello World

在编辑栏里输入以下内容

println "Hello, World!"

然后按Ctrl+R,输出结果如下:

groovy> println "Hello World" 
 
Hello World


如果你用groovysh运行,可以发现结果为:

groovy:000> println "Hello World!"
Hello World!
===> null

后面有个===> null,这里可以简单理解为“结果是:”或者“返回值是:”(个人理解)。

再输入123+45*67,Ctrl+R,输出结果为:

groovy:000> 123+45*67
===> 3138

输入 return 123+45*67,输出结果为:

groovy:000> return 123+45*67
===> 3138

这样就证实了我的个人理解。

二、变量

在groovyConsole里输入以下内容:

x = 1
println x

x = new java.util.Date()
println x

x = -3.1499392
println x

x = false
println x

x = "Hi"
println x

输出结果为:

groovy> x = 1 
groovy> println x 
groovy> x = new java.util.Date() 
groovy> println x 
groovy> x = -3.1499392 
groovy> println x 
groovy> x = false 
groovy> println x 
groovy> x = "Hi" 
groovy> println x 
 
1
Wed Sep 26 14:02:44 CST 2012
-3.1499392
false
Hi

groovy为动态语言,这里不需要考虑变量的类型了(用java的也是很讨厌类型转换中出问题的)。

三、Lists和Maps

Groovy语言的内置支持两个重要的数据类型,lists和maps(Lists可以像Java语言中数组一样使用)。lists是用于存储数据的有序集合。

例如,您最喜爱的整数集合可能看起来像这样:

myList = [1776, -1, 33, 99, 0, 928734928763]

你可以用方括号[]来访问给定的list的元素(索引从0开始),如

println myList[0]

输出结果为:

1776

同时你可以用size方法来获取list长度,如:

println myList.size()

输出结果为:

6

但一般来说,你不应该需要的长度,因为与Java不同,在一个list中的所有元素循环的首选方法是使用“each”的方法,下面描述的“Code as Data”部分的代码。


另一种数据结构被称为map。map是用来存储​​的“关联数组”或“字典”。这是无序的异类,已命名的数据的集合。例如,让我们说,我们要存储的名称与IQ分数,我们可能有:

scores = [ "Brett":100, "Pete":"Did not finish", "Andrew":86.87934 ]

请注意,存储在map的每一个的值是不同的类型。 Brett的是一个整数,皮特是一个字符串,安德鲁是一个浮点数。我们可以访问的地图主要以两种方式中的值:

println scores["Pete"]

println scores.Pete

输出结果为:

Did not finish

Did not finish

在Map中添加数据和在List中加数据的形式是相似的。比如:Peter重新测试的IQ结果为3,我们以为这么写:

scores["Pete"] = 3

然后输出:

println scores["Pete"]

结果为3,所以类型转换完全不费脑啊。

顺便说一句,你可以用下面创建一个空的Map或一个空List:

emptyMap = [:]
emptyList = []

验证是否为空:

println emptyMap.size()

println emptyList.size()

两者结果都是0.

四、条件执行

其他编程语言最重要的功能之一就是不同条件下执行不同的代码,最简单的就是用“if”结构,如:

amPM = Calendar.getInstance().get(Calendar.AM_PM)
if (amPM == Calendar.AM)
{
    println("Good morning")
} else {
    println("Good evening")
}

这时根据你的时间进行判断,我这时输出的就是:

Good evening

代码的第一行是对于确定它是中午十二时前或后的判断,后面的代码就不赘述了,条件判断和java是一致的。

五、布尔表达式

布尔表达式,编程语言中用来判断真假的值。

myBooleanVariable = true

groovy中逻辑判断符号如下:

 ==
 !=
 >
 >=
 <
 <=
这些符号很好理解,下面举个例子:

titanicBoxOffice = 1234600000
titanicDirector = "James Cameron"

trueLiesBoxOffice = 219000000
trueLiesDirector = "James Cameron"

returnOfTheKingBoxOffice = 752200000
returnOfTheKingDirector = "Peter Jackson"

theTwoTowersBoxOffice = 581200000
theTwoTowersDirector = "PeterJackson"

titanicBoxOffice > returnOfTheKingBoxOffice  // 结果为 true
titanicBoxOffice >= returnOfTheKingBoxOffice // 结果为 true
titanicBoxOffice >= titanicBoxOffice         // 结果为 true
titanicBoxOffice > titanicBoxOffice          // 结果为 false
titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice  // 结果为 false
titanicDirector > returnOfTheKingDirector    // 结果为 false, 因为"J"在"P"前面
titanicDirector < returnOfTheKingDirector    // 结果为 true
titanicDirector >= "James Cameron"           // 结果为 truetitanicDirector == "James Cameron"           // 结果为 true

boolean判断式结合if语句,就是我们常用的结构了,如:

if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)
{
    println(titanicDirector + " is a better director than " + returnOfTheKingDirector)
}

一个特别有用的测试是测试变量或表达式是否为空(没有值)。例如,让我们说,map是否有给定的key:

suvMap = ["Acura MDX":"\$36,700", "Ford Explorer":"\$26,845"]
if (suvMap["Hummer H3"] != null)
{
     println("A Hummer H3 will set you back "+suvMap["Hummer H3"]);
}

显然我们得到的结果为null。

六、调试和故障排除技巧




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值