前面咱们了解了groovy的一些概念java
接下来咱们来看下groovy的语法编程
学习任何一门语言,语法是语言最基础和最核心的东西微信
即便再怎么懂编程思想,可是不懂编程语言,那么是不可能写出具体的代码markdown
语法的学习是没有捷径能够走的,惟一的办法就是多练编程语言
groovy中的变量,主要分下面两个点:post
(1)变量的类型学习
基本类型
对象类型
复制代码
(2)变量的定义spa
强类型定义
弱类型定义
复制代码
基本类型,如:byte,int,long等code
对象类型,如:String等orm
这些和咱们的java相似,可是咱们的groovy的类型最终都是对象类型的
也就groovy是不存在基本类型的
首先是咱们的基本型类型,groovy语言中,有这么一个特色
表面上的基本型类型最终都会被转换为引用型类型
好比下面的例子:
首先是咱们的基本型类型,groovy语言中,有这么一个特色,表面上的基本型类型最终都会
被转换为引用型类型,好比下面的例子:
图片中能够看出,虽然定义的是int x = 10,可是打印出来的类型倒是Integer类型
可是对于咱们编程来讲,是没有影响的
转换的工做都是编译器帮咱们转换等的
这个的话和咱们的java差异就比较大了
首先是定义分强类型和弱类型定义,这一点到和java有点像
上面的例子中,int x = 10 就是一种强类型的定义方式
意思就是在声明变量的过程当中,也把变量的类型指定了
弱类型定义,不须要提早指定变量的类型,经过def这个关键字来告诉编译器
这一点是java没有的特色
下面举个例子:
能够看出,经过def定义的变量,编译器会去推断变量的类型
那么两种定义类型,应该怎么选择?
根据经验,通常变量若是是本身的,不会被其余类使用,或者其余应用模块
推荐def方式定义,由于本身用,本身知道类型而且能够动态转换为其余类型
若是其余类或者模块公用的变量,那么建议不要用def方式定义,由于强类型定义方式
是不能动态改变类型的,当外界传给咱们值的时候,是比较明确的
举个能够动态改变的例子:
一开始a类型为int
后来直接赋值后,变为了string
好了,到这里两种变量的定义就讲完了,和java差很少,不一样的是
类型的动态变化
哈哈,该篇就写到这里(一块儿体系化学习,一块儿成长)