Groovy (数据类型, 变量, 算术运算符, 关系运算符, 逻辑运算符, 位运算符, 赋值运算符, 范围运算符, 运算符优先级 )
数据类型
Groovy提供多种内置数据类型。以下是在Groovy中定义的数据类型的列表
-
byte -这是用来表示字节值。例如2。
-
short -这是用来表示一个短整型。例如10。
-
int -这是用来表示整数。例如1234。
-
long -这是用来表示一个长整型。例如10000090。
-
float -这是用来表示32位浮点数。例如12.34。
-
double -这是用来表示64位浮点数,这些数字是有时可能需要的更长的十进制数表示。例如12.3456565。
-
char -这定义了单个字符文字。例如“A”。
-
Boolean -这表示一个布尔值,可以是true或false。
-
String -这些是以字符串的形式表示的文本。例如,“Hello World”的。
class test {
static void main(String[] args) {
//Example of a int datatype
int x = 5;
//Example of a long datatype
long y = 100L;
//Example of a floating point datatype
float a = 10.56f;
//Example of a double datatype
double b = 10.5e40;
//Example of a BigInteger datatype
BigInteger bi = 30g;
//Example of a BigDecimal datatype
BigDecimal bd = 3.5g;
println(x); //5
println(y); //100
println(a); //10.56
println(b); //1.05E41
println(bi); //30
println(bd); //3.5
}
}
变量
变量命名: 变量的名称可以由字母,数字和下划线字符组成。 它必须以字母或下划线开头。 大写和小写字母是不同的,因为Groovy,就像Java是一种区分大小写的编程语言。
class test {
static void main(String[] args) {
int x = 5;
int X = 6;
def _Name = "Joe";
println(x); //5
println(X); //6
println(_Name); //Joe
println("The value of x is " + x + "The value of X is " + X); //The value of x is 5The value of X is 6
}
}
运算符
算术运算符
运算符 | 描述 | 例子 |
---|---|---|
+ | 两个操作数的加法 | 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 |
关系运算符
运算符 | 描述 | 例子 |
---|---|---|
== | 测试两个对象之间是否相等 | 2 == 2 将得到 true |
!= | 测试两个对象之间是否不等 | 3 != 2 将得到 true |
< | 检查是否左边的对象是小于右边的对象。 | 2 < 3 将得到 true |
<= | 检查是否向左对象是小于或等于右边的对象 | 2 <= 3 将得到 true |
> | 检查是否左边的对象比右边的对象大。 | 3 > 2 将得到 true |
>= | 检查是否向左对象大于或等于右边的对象。 | 3>= 2 将得到 true |
逻辑运算符
运算符 | 描述 | 例子 |
---|---|---|
&& | 这是逻辑 "与" 运算 | true && true 得到 true |
|| | 这是逻辑 "或" 运算 | true || true 得到 true |
! | 这是逻辑 "非" 运算 | !true 得到 false |
位运算符
运算符 | 描述 |
---|---|
& | 这是位“与”运算 |
| | 这是按位“或”运算 |
^ | 这是按位“异或”或异或运算符 |
〜 | 这是按位反运算符 |
真值表
p | q | p&Q | p | q | p ^ Q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
赋值运算符
运算符 | 描述 | 例子 |
---|---|---|
+= | A += B 等价于 A = A+B | DEF A = 5; A += 3; 输出将是8 |
-= | A -= B 等价于 A = A-B | DEF A = 5; A -= 3; 输出将是2 |
*= | A = B 等价于 A= AB | DEF A = 5; A *= 3; 输出将是15 |
/= | A /= B 等价于 A = A/B | DEF A = 6; A /= 3; 输出将是2 |
(%)= | A (%)= B 等价于 A = A % B | DEF A = 5; A %= 3; 输出将是2 |
范围运算符
Groovy支持范围的概念,并在..符号的帮助下提供范围运算符的符号。下面给出了范围运算符的一个简单示例。
class test {
static void main(String[] args) {
def range = 5..10;
println(range.collect()); //[5, 6, 7, 8, 9, 10]
println(range.get(2)); //7
}
}
运算符优先级
下表按优先级顺序列出了所有groovy运算符
运算符 | 名称 |
---|---|
++ -- + - | 预增/减,一元加,一元减 |
* / % | 乘法,除法,取模 |
+ - | 加法,减法 |
== != <=> | 等于,不等于,比较 |
& | 二进制/位运算符与 |
^ | 二进制/位异或 |
| | 二进制/按位或 |
&& | 逻辑和 |
|| | 逻辑或 |
= ** = * = / =%= + = - = << = >> = >>> = = ^ = | = | 各种赋值运算符 |