groovy程序设计
/*********
* groovy中Object类型存在隐式转换 可以不必使用as强转
*/
Object munber = 9.343444
def number1 = 2
println munber - number1 if (number1 < munber) {
println '转换了'
} /************
* 测试groovy中空字符串运算
*/
def str1 = "8"
def str2 = "-1"
def str3 = "*2" GroovyShell shell = new GroovyShell()
println shell.evaluate(str1 + str2)
println shell.evaluate(str1 + str3) /**
* 测试字符串
*/
def str5 = 'java'
def str6 = 'java '
println str5 == str6
println str5.trim() == str6.trim() /****
* 测试运算符号
*/ def num = 2
def num1 = 3
println num << num1 /****************
* 测试 进程
*/ println 'cmd /C dir'.execute().text /**************
* 安全导航操作符的使用
* ?. 操作符只有对象引用不为空时才会分派调用
*/
def str7 = null
def str8 = 'jiao' println str7?.reverse() // 不加问好会报错 空指针异常
println str8.reverse() /****
* 使用多赋值
*/
def fullName( fullname) {
fullname.split(' ')
}
def ( first, last ) = fullName ('jiao xi') println " $first , $last"
/***********
* 多赋值
* 多余的变量将会设置为null , 多余的值会被 丢弃 。
*/
def ( String cat , String mouse ) = [ 'Tom', 'Jerry', 'Tyke']
def ( String cat1 , String mouse1, String dog ) = [ 'Tom', 'Jerry']
println "$cat and $mouse "
println "$cat1 and $mouse1 and $dog " /**************
* groovy 中的bool值判定
*
* 类型 为真的条件
* Boolean 值为true
* Collection 集合不为空
* Character 值不为0
* CharSequence 长度大于0
* Iterator hasNext() 为true
* Number Double值不为0
* Map 该映射不为空
* Matcher 至少有一个匹配
* Object[] 长度大于0
* 其他任何类型 引用不为null
*
*/
/****
* 闭包懒加载
*/
def number = 1
def eagerGString = "value == ${number}"
def lazyGString = "value == ${ -> number }"
assert eagerGString == "value == 1"
assert lazyGString == "value == 1"
number = 2
assert eagerGString == "value == 1"
assert lazyGString == "value == 2"
/***********
* *操作符
*/
int function(int x, int y, int z) {
x*y+z
}
def args = [4,5,6]
assert function(*args) == 26
groovy程序设计的更多相关文章
- 推荐一本学习Groovy的书籍Groovy程序设计!
有朋友公司在用groovy开发,于是推荐我学习一下,搜到了这本书: 花了一个月时间读完了这本书!写的很棒,几乎没有废话,全书都是很重要的知识点和很好的讲解,确实像封面说的那样,使用的好可以提高开发效率 ...
- 〖Groovy〗语言使用贴士(Tips)(转)
[Groovy]是一门运行在[JVM]之上的动态语言.由[James Strachan]和[Bob McWhirter]于2003年启动开发,之后于2004年3月成为[JSR 241](Java Sp ...
- Java开发者职业生涯要看的200+本书
作者:老刘链接:https://www.zhihu.com/question/29581524/answer/684872838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 20145120 《Java程序设计》实验二实验报告
20145120 <Java程序设计>实验二实验报告 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握U ...
- 第一篇:groovy对DSL的语法支持
引子 我们用一段gradle的脚本做引子,理解这一段脚本与一般的groovy代码是怎么联系起来的 buildscript { repositories { jcenter() mavenLocal() ...
- [转载] 详述三种现代JVM语言--Groovy,Scala和Clojure
转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html 在我与Martin Fowler曾经合作呈现的 ...
- ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt!
ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt! 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. MoveIt ...
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse
ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...
- 2017-2018-2 20165206 实验二《Java面向对象程序设计》实验报告
2017-2018-2 20165206 实验二<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教 ...
随机推荐
- java单例模式实现
1.最基本的单例模式 /** * @author LearnAndGet * @time 2018年11月13日 * 最基本的单例模式 */ public class SingletonV1 { pr ...
- 微信小程序之条件判断
前文: 今天踩了一下午的坑,但是确实很简单的问题. 我说一下需求:扫描商品的二维码,从而判断,同一个二维码不可多次扫描: 点击扫一扫 会在灰色区域展示 扫描的商品信息,比如商品名称,商品码等,但是我们 ...
- 四、SpringBoot出现报错:java.lang.NoSuchMethodError: org.springframework.http.MediaType.equalsTypeAndSubtype(Lorg/springframework/util/MimeType;)Z
idea启动SpringBoot项目后,出现如下错误: 2019-11-19 15:24:44.344 ERROR 39168 --- [nio-8443-exec-1] o.a.c.c.C.[.[. ...
- MySQL使用order by field()自定义排序
MySQL的自定义排序和Oracle相比,要简单得多. 假设在表v_education的列schoolRecord中,有以下字段:'小学','初中','高中','专科','本科','硕士','博士'. ...
- 【JVM学习笔记】类加载过程
在Java代码中,类型的加载.连接与初始化过程都是在程序运行期间完成的:提供了更大的灵活性,增加了更多的可能性 JVM启动过程包括:加载.连接.初始化 加载:就是将class文件加载到内存.详细的说是 ...
- spring-boot集成5:集成jrebel实现热加载
Why Jrebel? 使用jrebel可以方便的实现spring-boot项目的热部署,直接reload更改的class,无需重启,提升开发效率. 1.安装jrebel插件 在idea中安装jreb ...
- Spring是什么? 什么是IOC(Inversin of control)? 什么是AOP (Aspect-Oriented Programming)?
spring是一个开源容器框架,可以接管web层.service层.dao层.持久层的组件,spring底下是一个bean工厂,用户产生各种bean,spring可以配置各种bean,和维护bean与 ...
- Leetcode之广度优先搜索(BFS)专题-279. 完全平方数(Perfect Squares)
Leetcode之广度优先搜索(BFS)专题-279. 完全平方数(Perfect Squares) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ar ...
- iOS 12.4 越狱已经发布
昨天 unc0ver 3.5.0 发布,支持 iOS 12.4 越狱.12.4 目前为最新版的系统. 下载地址:https://github.com/pwn20wndstuff/Undecimus/r ...
- 判断给定的整数n能否表示成连续的m(m>1)个正整数之和
#include<stdio.h> int main(){ //如果是奇数,肯定满足条件 int num; scanf("%d",&num); ==){ pri ...