今天是学习Groovy的第一天,首先我以为学习任何一种语言都要先弄清楚这种语言的特性,由于只有了解了特性以后学习才能达到好的效果,那么groovy的特色是什么的。我以为groovy是一种动态语言,动态主要体如今MOP也就是元对象协议,还有就是groovy也须要运行在jvm上。groovy的学习成本也不高,若是java基础比较好快速上手是没问题的,还有一些其余的特色,你们去查阅资料,此次要分享的是GString以及字符串的操做java
1.groovy的字符串
编程
Java里有String,Groovy里新加了GString。Groovy的语法是,若是用单引号括起来的就是String,若是是双引号括起来的就是GString。因此Groovy不能直接定义原来Java里的char了。jvm
String编程语言
String s = 'This is a String'
GString 函数
GString s = "This is a GString"
两种方式定义出来的实例类型是不同的。固然GString不是这么简单的,GString的强大之处在于它能够做为模板使用 工具
String name = 'count' int value1 = 23 int value2 = 22 GString s = "The value of $name is ${value1+value2}" println s
最终的输出是: The value of count is 55学习
倒数第二行,里面有关键字符 $, $即表明去引用上下文中的变量值,而${}中间不只能够引用变量值,还能够加上一些运算,做为一个表达式
最后一行这是把GString转换成String,再输出。
String是常量,可是GString是变量,准确的说,在GString中的$仅仅是做为一个模板的占位符存在,GString会保存对那个对象的引用,若是引用的对象值发生改变,GString的值也就跟着改变。
须要注意的是,Map里面String和GString就算最终生成的String值同样,可是仍是看成两个key存在的。很容易理解,可是很容易犯的错误,好比手误把单引号写成了双引号等等都会引发这个错误。
http://blog.csdn.net/yanical/article/details/7163138spa
学习groovy还应该清楚,groovy是一种弱类型语言,全部的变量均可以当作对象,规范的写法是变量以前应该有def修饰而且groovy不强制程序末尾的分号,写不写均可以
若是要定义一个字符串能够这样写:.net
def str1="编程语言"
def str2="Groovy"
若是没有什么限制的话,写成单引号也是能够的。可是要明确一点就是单引号和双引号是有区别的
def str1="编程语言" def str2="Groovy" println "$str1:$str2" (1) println '$str1:$str2' (2)
输出:3d
编程语言:Groovy
$str1:$str2
(1)和(2)的输出结果的区别在于(1)会对$str1和$str2和进行解析输出“编程语言:Groovy”
(2)则会输出$str1:$str2
这就是Gstring了,是否是很简单呢
2.字符串的经常使用操做
groovy字符串的操做和java里的大致相似,由于有的人可能没有用过Intellij IDE,这里我顺便把建立项目的图贴出来
(1)选择File---->New Project
(2)点击下一步以后看到以下界面,配置好groovy和jdk以后,填写项目名称并选择项目存储目录后,点击完成就OK
若是这个工具不熟练能够本身先学着使用下
最后贴出代码:
package org.lxh class UseGstring { static main(def args) { //gstring的用法(理解成转义也成) def str1="编程语言" def str2="Groovy" println "$str1:$str2" println '$str2' //字符串操做函数 def str3="上海市浦东新区轨道交通2号线" def str4="hello world" def str5="你,好" //截取字符串 println str3.substring(0,7) //大小写转换 println str4.toUpperCase() //拆分字符串 def split=str5.split(",") for(item in split){ println item } //字符串替换 println str4.replaceAll("world", "Tom") //字符串转为数字 def str6="28" def str7="2" println str6.toInteger()+str7.toInteger() //字符串的减法 def str8="abcd" println str8-"c" //contains的使用 println str8.contains("c") } }
下面是运行效果:
接下来分享下我用IntelliJ调试的心得
首先在相应行的最前面,单击一下断点就打上去了
在控制台能够看到下面这样的信息
到这里你们应该会调试程序了
http://blog.csdn.net/walkcode/article/details/22953605
IntelliJ Idea 14调试的操做步骤
(1)建Module,写groovy代码
(2)配置一个调试groovy代码的VM
(3)打断点后,调试Groovy