昨天我们写了一个HelloWorld,其实很简单的.呵呵.
现在我们打开Groovy控制台输入:
123+45*67
按Ctrl+R,结果就会输出来了.
Result: 3138
现在我们来看看给变更赋值
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在你需要用时才给变量赋予类型和值.
这在Java里是不可想象的.
List和Maps:
我们来看看如何来声明一个集合:
myList = [1776, -1, 33, 99, 0, 928734928763]
和Java一样,集合的索引是从0开始的.你可以这样访问:
println myList[0]
将会输出:
1776
你能得到集合的长度
println myList.size()
将会输出:
6
来看看Map怎样声明:
scores = [ "Brett":100, "Pete":"Did not finish", "Andrew":86.87934 ]
注意每个键的值类型都是不同的.
现在我们访问一下键为"Pete"的值,有两种方式:
println scores["Pete"]
println scores.Pete
会输出:
Did not finish
Did not finish
我们也能给scores["Pete"]赋予新值
scores["Pete"] = 3
再次访问scores["Pete"]
println scores["Pete"]
将会输出3
你也可以创建一个空集合和空Map:
emptyMap = [:]
emptyList = []
为了确保集合或Map是空的,你可以输出一个它们的大小:
println emptyMap.size()
println emptyList.size()
输出是0
现在我们来看看条件执行吧:
amPM = Calendar.getInstance().get(Calendar.AM_PM)
if (amPM == Calendar.AM)
{
println("Good morning")
} else {
println("Good evening")
}
这是一个简单的判断是上午还是下午的小程序,对于第一行你可以参考Groovy-doc.
Bool表达式:
myBooleanVariable = true
当然还有一些复杂的bool表达式:
* ==
* !=
* >
* >=
* <
* <=
来看看一些例子吧:
titanicBoxOffice = 1234600000
titanicDirector = "James Cameron"
trueLiesBoxOffice = 219000000
trueLiesDirector = "James Cameron"
returnOfTheKingBoxOffice = 752200000
returnOfTheKingDirector = "Peter Jackson"
theTwoTowersBoxOffice = 581200000
theTwoTowersDirector = "PeterJackson"
titanicBoxOffice > returnOfTheKingBoxOffice // evaluates to true
titanicBoxOffice >= returnOfTheKingBoxOffice // evaluates to true
titanicBoxOffice >= titanicBoxOffice // evaulates to true
titanicBoxOffice > titanicBoxOffice // evaulates to false
titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice // evaluates to false
titanicDirector > returnOfTheKingDirector // evaluates to false, because "J" is before "P"
titanicDirector < returnOfTheKingDirector // evaluates to true
titanicDirector >= "James Cameron" // evaluates to true
titanicDirector == "James Cameron" // evaluates to true
bool表达式对于if来说是非常有用的:
if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)
{
println(titanicDirector + " is a better director than " + returnOfTheKingDirector)
}
再看关于天气的例子:
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"]);
}
ok,今天到此为止吧.