Groovy基础语法
Groovy 基础语法
变量定义
1、支持动态类型,使用def关键字定义变量
// Java中定义变量的方式
int age = 18;
String name = "张三";
// Groovy中使用def关键字定义变量,编译器自动推断出变量的实际类型
def age = 22
def name = "James"
2、语句结尾不用写 ; 号
def age = 22
def name = "James"
3、使用基本类型定义的变量,全部装箱为对应的包装类
Groovy中定义变量使用 def
关键字,但是Groovy是基于Java扩展的,因此也可以使用Java里面的类型,如Java中8大基本数据类型:byte、short、int、long、float、double、char、boolean
// 定义8大基本数据类型
byte mByte = 1
short mShort = 2
int mInt = 3
long mLong = 4
float mFloat = 5
double mDouble = 6
boolean mBoolean = true
char mChar = '男'
// 对类型进行打印
println mByte.class
println mShort.class
println mInt.class
println mLong.class
println mFloat.class
println mDouble.class
println mBoolean.class
println mChar.class
// 打印结果如下
class java.lang.Byte
class java.lang.Short
class java.lang.Integer
class java.lang.Long
class java.lang.Float
class java.lang.Double
class java.lang.Boolean
class java.lang.Character
字符串
Groovy中有三种常用的字符串定义方式,如下所示:
可扩展字符串的含义就是在字符串里面可以引用变量或表达式
1、单引号 ''
定义的字符串为不可扩展字符串
2、双引号 ""
定义的字符串为可扩展字符串,可扩展字符串中可以使用\({}引用变量值或表达式
3、三引号 `"""` 定义的字符串为输出带格式的字符串,也可使用\){}引用变量
def age = 18
def name = 'James'
// 定义一个不可扩展字符串,跟Java类似
def str1 = 'hello ' + name
// 定义一个可扩展字符串
def str2 = "Hello ${name} ${name + age}"
// 定义一个输出带格式的可扩展字符串,使用 \ 来分行
def str3 = """
\
${str2}
Hello
name
"""
// 打印类型和值
println 'str1类型:' + str1.class
println 'str1输出值:' + str1
println 'str2类型:' + str2.class
println 'str2输出值:' + str2
println 'str3类型:' + str3.class
println 'str3输出值:' + str3
// 打印结果
str1类型:class java.lang.String
str1输出值:hello James
str2类型:class org.codehaus.groovy.runtime.GStringImpl
str2输出值:Hello James James18
str3类型:class org.codehaus.groovy.runtime.GStringImpl
str3输出值:
Hello James James18
Hello
name
可以看到str2和Str3的类型为GStringImpl,这两种类型在开发过程中需要强制转换吗?
// 定义一个String类型变量接收GStringImpl类型的变量,没有强转
String str4 = str2
// 打印类型和值
println 'str4类型:' + str4.class
println 'str4输出值:' + str4
// 输出结果
str4类型:class java.lang.String
str4输出值:Hello James James18
结论:在编码过程中,不需要特别关注String和GSting的区别,编译器会帮助我们自动转换类型。
方法
get和set方法
Class是一等公民
==和equals
Groovy基础语法的更多相关文章
- Gradle Groovy 基础语法 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Groovy系列(3)- Groovy基础语法
Groovy基础语法 动态类型 Groovy定义变量时:可以用Groovy风格的def声明,不指定类型:也可以兼容Java风格,指定变量类型:甚至还可以省略def或类型 def t1 = 't1' S ...
- groovy常用语法及实战
groovy语言简介 一种基于JVM的敏捷开发语言,作为编程语言可编译成java字节码,也可以作为脚本语言解释执行. 结合了Python.Ruby和Smalltalk的许多强大的特性 支持面向对象编程 ...
- Python学习的个人笔记(基础语法)
Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...
- python基础语法及知识点总结
本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...
- 【Scala学习之一】 Scala基础语法
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- devops-jenkins-Pipeline基础语法
1. jenkins-Pipeline基础语法 1) jenkins-Pipeline总体介绍 • Pipeline,简而言之,就是一套运行与jenkins上的工作流框架,将原本独立运行于单个或多个 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- iOS-----正则表达式的基础语法
正则表达式简单语法总结 一.什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式.那么一个正 ...
随机推荐
- java语言和jdk、jre基础
Java语言平台 * J2SE(Java 2 Platform Standard Edition)标准版 * 是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌 ...
- 使用pyinstaller库打包文件
1.pyinstaller的安装 先win+r打开cmd,安装具体命令如下: pip3 install pyinstaller 2.使用pyinstaller库打包文件 假设Python源文件LPR ...
- DC-1 靶机渗透
DC-1 靶机渗透 *概况*: 下载地址 https://www.vulnhub.com/entry/dc-1,292/ *官方描述:* DC-1 is a purposely built vulne ...
- 免费的天气API
高德地图天气 天气查询-API文档 请求示例: { "status": "1", "count": "1", " ...
- JavaSE常用类之File类
File类 只用于表示文件或目录的信息,不能对文件内容进行访问. java.io.File类∶代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到本类. File类不能访 ...
- 时序数据库influxDB介绍
https://www.jianshu.com/p/68c471bf5533 https://www.cnblogs.com/wzbk/p/10569683.html
- zabbix监控SSL证书有效期
想给公司网站加上证书的监控,发现agent无此监控项.科普之后发现需要自行添加脚本以及一些操作. 环境信息 系统版本: Ubuntu20.04 zabbix server版本:5.4 (这个自定义貌似 ...
- 【Azure API 管理】解决API Management添加AAD Group时遇见的 Failed to query Azure Active Directory graph due to error 错误
问题描述 为APIM添加AAD Group时候,等待很长很长的时间,结果添加失败.错误消息为: Write Groups ValidationError :Failed to query Azure ...
- 基础的CSS描绘测试
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- Apache Flink系列-④有状态函数
有状态函数:独立于平台的有状态无服务器堆栈 这是一种在现代基础设施上创建高效.可扩展且一致的应用程序的简单方法,无论规模大小. 有状态函数是一种API,它通过为无服务器架构构建的运行时简化了分 ...