Groovy-2.基本语法

1.hello world

class Example {
   static void main(String[] args) {
      // Using a simple println statement to print output to the console
      println('Hello World');
   }
}

2.导入语句

import groovy.xml.MarkupBuilder 
def xml = new MarkupBuilder() 

Groovy在代码中默认进行了导入,因此不需要显式引入它们:

import java.lang.* 
import java.util.* 
import java.io.* 
import java.net.* 

import groovy.lang.* 
import groovy.util.* 

import java.math.BigInteger 
import java.math.BigDecimal

3.注释

  • //行注释
  • /**/块注释

4.分号

分号分隔语句

5.标识符

用来定义变量,函数等。以字母,美元符号,下划线,数字组成,数字不能开头。

6.关键字

as,assert,break,case,catch,class,const,continue,def,default,do,else,enum,extends,false,Finally,for,goto,if,implements,import,in,instanceof,interface,new,pull,package,return,super,switch,this,throw,throws,trait,true,try,while

7.内置数据类型

  • byte - 这是用来表示字节值。例如2。
  • short - 这是用来表示一个短整型。例如10。
  • int - 这是用来表示整数。例如1234。
  • long - 这是用来表示一个长整型。例如10000090。
  • float - 这是用来表示32位浮点数。例如12.34。
  • double - 这是用来表示64位浮点数,这些数字是有时可能需要的更长的十进制数表示。例如12.3456565。
  • char - 这定义了单个字符文字。例如“A”。
  • Boolean - 这表示一个布尔值,可以是true或false。
  • String - 这些是以字符串的形式表示的文本。例如,“Hello World”的。

8.表示范围

数字

范围

byte

8位

short

16位

int

32位

long

64位

float

32位

double

64位

9.数字类

数字类型的包装类

  • java.lang.Byte
  • java.lang.Short
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Float
  • java.lang.Double

高精度计算的类:

名称

描述

java.math.BigInteger

不可变的任意精度的有符号整数数字

java.math.BigDecimal

不可变的任意精度的有符号十进制数

10.变量

10.1.变量声明

  • 变量可以直接用基本类型声明
  • 或者使用def关键字声明

10.2.变量命名

  • 变量名称可以有字母,数字或下划线组成,不能用数字开头
  • 区分大小写

11.运算符

11.1.运算符类型

  • 算数运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符

11.2.算数运算符

运算符

描述

例子

+

两个操作数的加法

1 + 2 将得到 3

-

第一第二操作数相减

2 - 1 将得到 1

*

两个操作数的乘法

2 * 2 将得到4

/

两个操作数的除法

3/2 将得到 1.5

取模运算

3%2 将得到 1

++

自增运算,在自身值的基础上加1

INT X = 5;X ++;X 将得到 6

--

自减运算,在自身值的基础上减1

INT X = 5;X - -;X 将得到 4

11.3.关系运算符

运算符

描述

例子

==

测试两个对象之间是否相等

2 == 2 将得到 true

!=

测试两个对象之间是否不等

3 != 2 将得到 true

<

检查是否左边的对象是小于右边的对象。

2 < 3 将得到 true

<=

检查是否向左对象是小于或等于右边的对象

2 <= 3 将得到 true

>

检查是否左边的对象比右边的对象大。

3 > 2 将得到 true

>=

检查是否向左对象大于或等于右边的对象。

3>= 2 将得到 true

11.4.逻辑运算符

运算符

描述

例子

&&

这是逻辑“与”运算

true && true 得到 true

||

这是逻辑“或”运算

true || true 得到 true

这是逻辑“非”运算

!true 得到 false

11.5.位运算符

运算符

描述

|

^

异或

按位反

11.6.赋值运算符

运算符

描述

例子

+=

A += B 等价于 A = A + B

DEF A = 5A += 3输出将是8

-=

A -= B 等价于 A = A - B

DEF A = 5A -= 3输出将是2

*=

A *= B 等价于 A= A * B

DEF A = 5A *= 3输出将是15

/=

A /= B 等价于 A = A / B

DEF A = 6A /= 3输出将是2

(%)=

A (%)= B 等价于 A = A % B

DEF A = 5A %= 3输出将是2

11.7.范围运算符

..是范围运算符,用来定义一个包含两个端点的范围。

class Example { 
   static void main(String[] args) { 
      def range = 5..10; 
      println(range);  // [5, 6, 7, 8, 9, 10] 
      println(range.get(2));  // 7
   } 
}

11.8运算符优先级

运算符

名称

++ - + -

预增/减,一元加,一元减

* / %

乘法,除法,取模

+ -

加法,减法

==!= <=>

等于,不等于,比较

二进制/位运算符与

^

二进制/位异或

|

二进制/按位或

&&

逻辑和

||

逻辑或

= ** = * = / =%= + = - = << = >> = >>> = = ^ = | =

各种赋值运算符

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java并发-2.volatile关键字

    用 volatile 关键字修饰一个共享变量(类的成员变量,类的静态成员变量)后,有两个作用:

    悠扬前奏
  • 正则表达式-7.零宽断言

    用于查找某些内容(不包含这些内容)之前或者之后的内容。也就是说用于查找一个位置,这个位置的前后需要满足一定的条件。

    悠扬前奏
  • LintCode-56.两数之和

    你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。

    悠扬前奏
  • CentOS 7.2 部署Node.js开发环境

    版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://b...

    shaonbean
  • 使用Python检测并绕过Web应用程序防火墙

    Web应用防火墙通常会被部署在Web客户端与Web服务器之间,以过滤来自服务器的恶意流量。而作为一名渗透测试人员,想要更好的突破目标系统,就必须要了解目标系统的...

    FB客服
  • 黑客用Python:检测并绕过Web应用程序防火墙

    Web应用防火墙通常会被部署在Web客户端与Web服务器之间,以过滤来自服务器的恶意流量。而作为一名渗透测试人员,想要更好的突破目标系统,就必须要了解目标系统的...

    小小科
  • LeetCode 169. Majority Element

    题解:题目说一定存在答案,不用额外的内存空间,怎么做呢?其实很简单,重复最多的元素的数量大于剩下所有元素数量之和,维护一个数字count,代表数量,维护一个变量...

    ShenduCC
  • 导入webdriver的jar文件总不成功???

    今天登录微信公众号的时候,发现一个同学给我发了一条消息,我想回复,但是回复不了了,因为超过48小时。 问题: @T同学:你好,我最近在安装eclipse然后导入...

    软测小生
  • PyQt十讲 | DIY记事本小程序界面

    记得小学的时候第一次使用windows系统的电脑,当时的操作系统还是windows98,课本上说明了一个窗口程序一般包含几个基本要素:有最大化、最小化、关闭,有...

    潘永斌
  • 脱离前端菜鸟层次的二个关键点

    我个人吧,一直认为学习前端技术是比较简单的事情,只要你真的是一步一个脚印的在前进,那你自然会有相应的结果可以收获。这里面包含二个关键点,一,脚踏实地;二,不断努...

    web前端教室

扫码关注云+社区

领取腾讯云代金券