Groovy基本语法(1)

Groovy基本语法(1),第1张

概述2、Starting Groovy        相比于一个传统的Java类,一个包含main方法的Groovy类可以如下书写: 代码1:具有main函数的Groovy类 package plswg.edu.groovy.basic// 利用class关键字创建一个groovy类class G01_HelloWorldClass { // 静态的main方法作为程序入口 static

2、Starting Groovy 

      相比于一个传统的java类,一个包含main方法的Groovy类可以如下书写:

代码1:具有main函数的Groovy类

package plswg.edu.groovy.basic// 利用class关键字创建一个groovy类class G01_HelloWorldClass {	// 静态的main方法作为程序入口	static main(args) {				// 使用println命令输出		println "HelloWorld in class"	}}

       和Java一样,程序会从这个类的main方法开始执行,和Java的区别是:

class前省略public修饰; main方法前省略public修饰; main方法省略返回值类型voID; main方法形参列表省略类型String[];       当然,这只是Groovy代码的一种写法,实际上执行Groovy代码完全可以不必需要一个类或main方法,所以更简单的写法如下:

package plswg.edu.groovy.basic// 对于groovy程序来说,可以没有类和main方法,直接书写的代码就可以作为脚本运行println "HelloWorld in script"

      这段代码仍可以直接运行。

      实际上,最终编译器仍会为这段代码生成一个类,类名和文件名相同,只不过从源码的角度上,确实不用写类或者main方法了,这一点很像JavaScript等其它脚本语言。

      可以注意到,Groovy将Java中繁琐的System.out.println简化为了println,甚至可以不为形参列表加括号,这都是允许的,Groovy非常简洁,甚至不要求语句末尾的分号(当然,写上分号也无伤大雅)

3、Groovy变量

      既然是脚本语言,Groovy的变量也被设计成为了类似的弱类型,实际上Groovy同时支持强类型变量和“弱”类型变量,强类型变量拥有自己的类型,而“弱”类型变量则全部会被编译为Object类型,从代码的角度上,Groovy的变量无需声明类型了:

package plswg.edu.groovy.basic// groovy可以使用类型确定的变量或常量String s1 = "Hello "print s1final String s2 = "World"println s2// 利用def关键字可以定义可变类型的变量或常量def s3 = "Welcome "print s3// 对于可变类型,即随时可以改变其类型,赋予不同的量s3 = 123		// 此时str3被赋予了整型量,所以其类型变为Integer类型println s3s3 += 100		// 整型的str3和整型相加,结果是整型223println s3s3 = true		// str3目前是boolean类型println ("Ok " + s3)// 对于局部变量,甚至可以不使用def关键字来定义s4 = "Good job"println s4// 对于数值类型,有如下规则int n1 = 10n2 = n1 / 3println n2		// 对于n1为整数时,10 / 3的结果并不是整数,这说明常量n2并不是整数int n3 = n1 / 3		// 明确定义n3为整数后,相除的结果为整数println n3n2 = n1.intdiv(3)println n2		// intdiv用于进行整除n2 = n1.power(2)	// 求平方	groovy方法println n2n2 = n1 ** 2		// 求平方的groovy语法println n2n1 = Math.sqrt(n2)	// 求开方	java方法println n1
      从上面的代码可以看到,Groovy支持有类型的变量,例如 String s;也支持无类型的变量,例如 def s,相当于Java中的Object s;对于无类型的变量,甚至可以不写 def关键字。

      final关键字依然作为常量标识,这一点和Java相同。

      最后注意一点,Groovy中没有Java中的值类型简单对象,所有的对象都是引用类型对象,例如定义def n = 10,n的类型应该是Integer类型而不是int类型;即便定义了int n = 100,n的类型依然是Integer类型;如果定义了def n = 12.34,则注意,n的类型是BigDecimal类型而不是Double类型,只有显式定义double n = 12.34,n的类型才明确为Double类型(依旧不是double类型)

      对于基本算术运算符,Groovy增加了**运算符,表示求幂,x ** y表示求x的y次方;

总结

以上是内存溢出为你收集整理的Groovy基本语法(1)全部内容,希望文章能够帮你解决Groovy基本语法(1)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266905.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存