亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

精通 Groovy:Java 平台脚本入门指南

什么是 Groovy?

Apache Groovy 是面向对象、兼容 Java 语法、运行在 JVM 上的语言。编译为 Java 字节码,任何装有 Java 运行时环境的系统均可执行。Groovy 增加动态类型、闭包、DSL 支持、简洁语法,是 Java 理想伴侣而非替代品。

为什么用 Groovy?

Groovy 历史

Groovy 关键特性

如何安装 Groovy

  1. 确保已装 Java — Java 安装指南
  2. 从 Groovy 下载页 下载安装程序
  3. 运行安装程序,选语言,点 OK
  4. 欢迎屏幕点 NEXT 精通 Groovy:Java 平台脚本入门指南
  5. 接受许可条款 精通 Groovy:Java 平台脚本入门指南
  6. 选安装组件点 NEXT 精通 Groovy:Java 平台脚本入门指南
  7. 选安装目录点 NEXT 精通 Groovy:Java 平台脚本入门指南
  8. 设开始菜单文件夹点 NEXT 精通 Groovy:Java 平台脚本入门指南
  9. 完成安装(路径保持默认)点 NEXT 精通 Groovy:Java 平台脚本入门指南
  10. 安装后从开始菜单启动 Groovy Console 验证 精通 Groovy:Java 平台脚本入门指南

Groovy Hello World

Java 版:

public class Demo { public static void main(String[] args) { System.out.println("Hello World"); } }

Groovy 等价——单行:

println "Hello World."

Groovy 省去分号、括号、冗长的 System.out.println。

变量

Java 需显式类型:

public class Demo { public static void main(String[] args) { int x = 104; System.out.println(x); // x = "Guru99"; // 编译时报错 } }

Groovy 用 def 支持动态类型:

def x = 104 println x.getClass() x = "Guru99" println x.getClass()

输出:

class java.lang.Integer class java.lang.String

多行字符串用三重引号:

def x = """Groovy at Guru99""" println x

运算符

Groovy 支持常用类别:

循环

Java for 循环:

for (int i = 0; i <= 5; i++) { System.out.println(i); }

Groovy 等价写法:

0.upto(4) { println "$it" } 2.upto(4) { println "$it" } 5.times { println "$it" } 0.step(7, 2) { println "$it" }

决策结构

语句描述
if条件真时执行。
if/else真执行真分支,否则执行 else 分支。
nested if多条件分支。
switch多路分支更清晰的替代方案。
nested switchGroovy 支持。

列表

列表是有序引用集合,用方括号定义。

常用列表方法:

方法描述
add()末尾追加值。
contains()值存在返回 true。
get()索引处元素。
isEmpty()列表为空返回 true。
minus()返回移除指定元素的新列表。
plus()返回添加指定元素的新列表。
pop()移除最后元素。
remove()移除索引处元素。
reverse()返回反转列表。
size()元素数量。
sort()返回排序副本。

示例:

def y = ["Guru99", "is", "Best", "for", "Groovy"] println y y.add("Learning") println(y.contains("is")) println(y.get(2)) println(y.pop())

输出:

[Guru99, is, Best, for, Groovy] true Best Learning

映射

映射是键值对集合。

映射方法:

方法描述
containsKey()检查键是否存在。
get()返回键对应值。
keySet()键集合。
put()添加或替换键值对。
size()条目数。
values()值集合。

示例:

def y = [fName:'Jen', lName:'Cruise', sex:'F'] print y.get("fName")

输出:

Jen

闭包

闭包是作为对象处理的代码块,类似 lambda。

简单闭包:

def myClosure = { println "My First Closure" } myClosure()

带参数:

def sum = { a, b, c -> return a + b + c } println sum(1, 2, 3)

输出:

6

Groovy vs Java

GroovyJava
默认访问修饰符 public。默认包私有。
字段自动生成 getter/setter。需手动定义。
双引号支持字符串插值。无插值。
类型可选。类型强制。
无需分号。需分号。
每个脚本自动继承 Script 类。执行需 public static void main。

常见误区

误区现实
Groovy 仅用于脚本。用途广泛:Web 框架、数据处理等。
Groovy 纯函数式。借用函数概念但仍是 OOP 语言。
Groovy 仅适合 TDD。支持 TDD 但适用场景更多。
Groovy 限于 Grails。Grails 是流行框架,但 Groovy 独立工作。

Groovy 缺点

Groovy 必备工具

使用示例:

groovysh

精通 Groovy:Java 平台脚本入门指南

groovyConsole

精通 Groovy:Java 平台脚本入门指南

groovy

精通 Groovy:Java 平台脚本入门指南

总结

java

  1. 树莓派避障机器人搭建指南:新手入门教程
  2. 金属制造入门:新手清晰指南
  3. 新手入门CNC雕刻机:以工业级精度轻松开启加工之旅
  4. PowerShell 入门到精通:强大脚本自动化完全指南
  5. C 语言入门到精通 PDF 教程:零基础自学全攻略(含 160+ 页实战案例)
  6. 精通 Java for 循环:语法、示例与最佳实践
  7. Java 数组教程:声明、创建、初始化与示例代码
  8. Java 栈与堆:内存分配实战指南
  9. Java for-each 循环:无计数器简化数组遍历
  10. Java 多线程详解:概念、生命周期与实战代码示例
  11. Java 判断阿姆斯特朗数(自幂数):for 循环与 while 循环实现
  12. Java 回文数判断:while 循环与 for 循环两种算法实现