Groovy 学习笔记总结 Part.1


  有市场就没有需求, 有需求没市场的事情从公司的角度去考虑;不应该给你实现需求的成本的!就这样我们接到一个让你业余用业余时间去完成的任务; 活动配置数据生成工具。

  为了顺利把这个工具做成,你可以拿任何一个你想学的语言去干这事。 纠结啊 。。。, 于是抱着让这是早日完成的心态。 我就选择了用 Groovy 来做这件事请; 理由很简单。 Java Swing 做 GUI 应用程序实在太麻烦; 而 Groovy 中的 SwingBuilder 取弥补了 Swing 中的部分不足。 能够简化界面控件使用与代码, 但内在的事件驱动模型是没有变化的。 于是乎开始动手吧。


1. 开发环境

Mac 10.6.x + IntelliJ IDEA 14 + Groovy 2.3.6

Google 上有很多的配置介绍。


2. GroovyConsole 初试

x = 1;
println x;

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

x = -3.1499392;
println x;

x = false;
println x;

x = Boolean.TRUE;
println x;

x = 'Hi'
println x;

command + R 结果如下

1

Sun Dec 28 00:50:45 CST 2014

-3.1499392

false

true

Hi


总结:x 很像 JavaScript 中万能的 var 申明类型,不过此处连 var 都没有太简单了。 脚本语言啊! 弱类型。


3. Collection 测试

x = new java.util.Date();
tempList = [1, -2, 0.3245788663, 'a', x];
println tempList[0];
println tempList[1];
println tempList[2];
println tempList[3];
println tempList[4];

command + R 结果如下

1

-2

0.3245788663

a

Sun Dec 28 00:50:45 CST 2014


总结: 弱类型集合


4. Map 测试

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

println scores["Pete"];

> Did not finish


如果将 key 不用双引号 “”  呢,结果如何呢?

println scores["Pete"];

    Exception thrown

    groovy.lang.MissingPropertyException: No such property: Pete for class: ConsoleScript23

    at ConsoleScript23.run(ConsoleScript23:3)


至此我们能不能推断非双引号包围的它就认为是类呢。 有待确认


5. 空的集合与 Map

emptyMap = [:]
emptyList = []
println emptyMap.size()
println emptyList.size()

> 0

> 0


6. 条件判断

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

> 0

> Good morning


* else 删除也是可以的。


7. 逻辑与算术运算

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         // evaluates to true
titanicBoxOffice > titanicBoxOffice          // evaluates to false
titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice  // evaluates to false

titanicDirector > returnOfTheKingDirector    // evaluates to false, because "J" is before "P"titanicDirector < returnOfTheKingDirector    // evaluates to truetitanicDirector >= "James Cameron"           // evaluates to truetitanicDirector == "James Cameron"           // evaluates to true


至此,

你可能感兴趣的:(入门,groovy)