其实我这两年业余时间一直断断续续的在学java,水平还不怎么样,不过起码能参与小项目写写接口了。现在我决定暂时放下大众的java,改学小众的Groovy,只因为我新拿到个offer,对方公司的自动化框架是用Groovy脚本语言搭起来的,所以趁着项目交接结束还有点时间就学学Groovy。

好了,闲话不多说了,首先去官网http://Groovy.codehaus.org下载了Groovy 2.4.3,配好环境变量。 然后上网搜个Groovy基本教程,按照上面的学习。

首先看看命令窗口的Groovy编程模式。不论Groovysh的G是否大小写,都能成功进入编程模式。但是等等,为什么4.times {print "$it"} 中的it能被正确识别出是变量,而for(i in 0..2) {print "$it"}这条语句的it没有被识别?赶紧百度一下,终于知道为什么了。虽然没有人遇到这个问题,但是我发现有人这么写能运行成功for(i in 0..2) {print "$i"}。原来如果没有定义变量,那么就可以使用Groovy默认的变量it,如果已经定义了变量,那么就需要定义it才能使用it。

试过cmd窗口编程后,我决定试试groovyConsole界面编程,双击{Groovy home}/bin目录下的groovyConsole.bat。编写程序后按ctrl+回车可以执行。

经过几个小时的尝试,我发现Groovy还是和java有些不同:

1. 在java中main的参数可以写成”String[] s” 和”String s[]” , 但是Groovy只能接受第一种写法。

2. Groovy可以接受简化后的代码,比如语句后面没有分号,比如不写类,甚至不需要写main方法

3. Groovy中,”= =”等同于java中的equals方法;”= = =”等同于java中的”= =”。

4. Groovy中缺省的标志符是public。

5.   Groovy 中的字符串允许使用双引号和单引号。 当使用双引号时,可以在字符串内嵌入一些运算式,Groovy 允许您使用 与 bash 类似的 ${expression} 语法进行替换。可以在字符串中包含任意的 Groovy 表达式。

今天就先进行到这里,等继续学习再慢慢记录下来。

初次接触Groovy的更多相关文章

  1. 初次接触json...

    这两天发现很多网站显示图片版块都用了瀑布流模式布局的:随着页面滚动条向下滚动,这种布局还会不断加载数据并附加至当前尾部.身为一个菜鸟级的程序员,而且以后可能会经常与网站打交道,我觉得我还是很有必要去尝 ...

  2. 初次接触GWT,知识点总括

    初次接触GWT,知识点概括 前言 本人最近开始研究 GWT(Google Web Toolkit) ,现将个人的一点心得贴出来,希望对刚开始接触 GWT的程序员们有所帮助,也欢迎讨论,共同进步. 先说 ...

  3. [Docker]初次接触

    Docker 初次接触 近期看了不少docker介绍性文章,也听了不少公开课,于是今天去官网逛了逛,发现了一个交互式的小教程于是决定跟着学习下. 仅仅是把认为重点的知识记录下来,不是非常系统的学习和笔 ...

  4. 初次接触:DirectDraw

    第六章 初次接触:DirectDraw 本章,你将初次接触DirectX中最重要的组件:DirectDraw.DirectDraw可能是DirectX中最强大的技术,因为其贯穿着2D图形绘制同时其帧缓 ...

  5. 初次接触scrapy框架

    初次接触这个框架,先订个小目标,抓取QQ首页,然后存入记事本. 安装框架(http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html) ...

  6. javaweb中的乱码问题(初次接触时写)

    javaweb中的乱码问题 在初次接触javaweb中就遇到了乱码问题,下面是我遇到这些问题的解决办法 1. 页面乱码(jsp) 1. 在页面最前方加上 <%@ page language=&q ...

  7. 初次接触Java

    今天初次接触Eclipse,学着用他来建立java工程,话不多说,来看看今天的成果! 熟悉自己手中的开发工具,热热身 刚上手别慌,有问题找度娘 刚刚拿到这个软件的安装包我是一脸懵逼的,因为是从官网下载 ...

  8. -1.记libgdx初次接触

    学习一门技术最难的是开发环境变量配置和工具配置,以下为我初次接触libgdx时遇到的问题 几个难点记录下 gradle 直接用下到本地,然后放到d盘,链接到就行(gradle-wrapper.prop ...

  9. tensorflow初次接触记录,我用python写的tensorflow第一个模型

    tensorflow初次接触记录,我用python写的tensorflow第一个模型 刚用python写的tensorflow机器学习代码,训练60000张手写文字图片,多层神经网络学习拟合17000 ...

随机推荐

  1. PDA应用在WMS仓储管理系统 实现无线扫描出入库作业

    WMS系统是根据仓储物流管理的建设实施经验而推出的一款专业化仓储管理软件.与传统进销存软件相比优势在于,其不但包含了正常的出入库.盘点等库存管理基本功能,重点在于可以实现仓库作业过程的管理,通过条码及 ...

  2. 编程中、遇到问题、bug多思考

    偶然间看到一篇很好的文章,关于编程过程中的思考. http://www.cnblogs.com/dongqingswt/archive/2012/12/26/2834675.html#3457256 ...

  3. http://www.111cn.net/jsp/Jsp-Servlet/45158.htm

    http://www.111cn.net/jsp/Jsp-Servlet/45158.htm

  4. CC150 - 11.1

    Question: You are given two sorted arrays, A and B, where A has a large enough buffer at the end to ...

  5. Codeforces Round #191 (Div. 2) E题

    状态压缩DP,算sum,本来是枚举的,结果TLE了.. #include <iostream> #include <cstring> #include <cstdio&g ...

  6. C#开发MySQL数据库程序时需要注意的几点

    一:引用MySQL使用基于Parameter方式代码,总是提示:“Column '列名'cannot be null”解决 MySQL使用基于Parameter方式代码,总是提示:“Column '列 ...

  7. iOS移动开发周报-第23期

    iOS移动开发周报-第23期 [摘要]:本期iOS移动开发周报带来如下内容:苹果发出9月9日发布会邀请函,AFNetworking2.0源码解析,objc与鸭子对象,Protecting iOS Ap ...

  8. 【C语言】05-printf和scanf函数

    一.printf函数 这是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据 1.用法 1> pr ...

  9. <html:option获取文本值

    <p class="w120">变更后IP:</p> <div class="comBobox w200 f_l"> < ...

  10. android开发事件监听

    第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适, ...