文档章节

Groovy流程控制

Flue
 Flue
发布于 2015/09/27 22:38
字数 384
阅读 12
收藏 0

    不管是面向过程的编程语言还是面向对象的编程语言,都免不了要过程化分析程序业务流程。所有的业务逻辑都可以用顺序、选择(分支)或循环(迭代)实现。

    顺序流程是自上而下的驱动设计,最明显的体现在过程式设计语言的单进程、单线程中。在C语言中即是main()函数中的业务流程 ,顺序执行所有的代码。

    Groovy中的选择流程有两种实现方式,if/else语句和switch语句。

//1.使用if/else语句实现的选择流程
language = 'Groovy'
if(language == 'Java')
    println 'A Java dev'
else if(language == 'Groovy')
    println 'A Groovy dev'
else
    println 'Who are you?'   

//2.使用switch语句实现的流程控制
num = 2
switch(num){
    case [1,2,3]:println 'num in [1,2,3]';break
    case [4,5,6]:println 'num in [4,5,6]';break
    case [7,8,9]:println 'num in [7,8,9]';break
    default:println 'num is not in [1..9]'
}

    Groovy中的循环流程控制有两种实现方式,for和while。

//1.用for实现的Groovy循环
list = [1..9]
for(item in list)
    print item + ' '
//2.用while实现的for循环
var = 1
while(var < 10){
    print var + ' '
}

   Groovy中的循环控制流程和Python中的相一致,for用于可迭代对象的循环,在for语句中自动完成迭代,而while可用于更宽泛的循环控制。

© 著作权归作者所有

Flue
粉丝 0
博文 2
码字总数 1006
作品 0
延安
私信 提问
Gradle入门系列(一)——groovy基础语法

groovy基础语法 一、变量 1、类型 对象类型、基本类型(本质是对象类型) 输出: 结论: 从log输出可以得出,groovy中实质上是没有基本类型的,本质是java中的装箱对象类型。 2、定义 强类型定...

GitLqr
01/05
0
0
工作流系统 Bonita 5.0 M5 发布

Bonita 是一个符合WfMC规范、灵活的协同工作流系统。 对于各种动作如流程概念建模、定义、实例化、流程控制和用户交互等提供了全面的集成图形工具。 100% 基于浏览器、使用SOAP和XML数据绑定...

红薯
2009/12/15
529
0
activiti-ScriptTask(脚本任务)

Activiti脚本任务(ScriptTask) Activiti脚本任务(ScriptTask) 作者:邓家海 你一直问为什么到不了远方,请停下数数你的脚步,是不是还没迈开腿 对于没有接触过groovy脚本语言的人来说,可...

方宏春
2018/04/25
285
0
利用自定义 DSL 简化 jenkins 流水线

jenkins 流水线 jenkins 流水线是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。jenkins 流水线通过 gr...

scottlin
03/17
0
0
java脚本引擎的设计原理浅析

本人在阿里巴巴长期担任和负责规则引擎、流程引擎相关的技术开发,另外还负责开发和维护开源项目: https://github.com/alibaba/QLExpress QLExpress是一个脚本引擎工具,类似Groovy,JRuby...

baobao_pandora
2018/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

手持式人证核验设备助力国家安全系统

手持式人证核验设备,是针对公共安全领域的移动化身份核验、追逃等需求推出的手持式一体化设备。其特点是具备人员信息采集、存储和比对功能,将采集到的人脸信息与居民身份证芯片中的人脸信息...

非思丸智能FaceTo
9分钟前
2
0
好程序员web前端教程分享JavaScript简写方法

今天好程序员web前端教程为大家分享JavaScript简写方法,小伙伴们快来看一看吧。 1.三元操作符 当想写if...else语句时,使用三元操作符来代替。 constx =20; let answer; if(x >10) { answer...

好程序员官网
12分钟前
3
0
PHP面试题2019年小米工程师面试题和答案解析

一、单选题(共29题,每题5分) 1.PHP面向对象方法重写描述错误的是? A、子类必须继承父类 B、子类可以重写父类已有方法 C、重写之后子类会调用父类方法 D、子类也可以具有与父类同名的属性...

一个PHP程序媛
16分钟前
2
0
K8s 从懵圈到熟练 – 镜像拉取这件小事

导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的。而镜像拉取失败,大多数情况下都和权限有关。所以,在处理相关问题的时候,我们往往会轻松的说:这问题很简单...

Mr_zebra
16分钟前
3
0
分布式锁简单入门以及实现方法

学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。 在学习或者使用Java的过程中进程会遇到各种各样的锁的...

yanlijun_java
19分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部