表达式

来源:互联网 发布:天刀韩莹莹捏脸数据 编辑:程序博客网 时间:2024/03/29 21:20

2.2 表达式

Groovy提供大量适用于数值类型的运算符,包括常见的算术运算符、比较运算符、位运算符,以及其他各种类型的运算符。表达式(expression)通常用来描述某些计算行为,由运算符和操作数组成。算术运算符(arithmetic operator)包括加法(+)、减法(-)、乘法(*)和除法(/)。Groovy同样也支持取模运算符,用百分号表示(%);取模运算用来计算两个整数相除的余数。表2-1列举适用于整数的各种算术运算符。

请注意,两个整数的除法运算通常会产生一个浮点数,即使其结果可能是一个整数。举例来说,表达式6/3的结果是浮点数2.0,而不是整数2。

表2-1 整数运算符

表达式

调用方法

结果

5+3

5.plus(3)

8

5-3

5.minus(3)

2

5*3

5.multiply(3)

15

5/3

5.divide(3)

1.6666666667

5%3

5.mod(3)

2

上面的这些运算符也适用于两个浮点数的运算,对应结果如表2-2所示。接下来的表会说明两个浮点数的取模操作。

表2-2 浮点数运算符

表达式

调用方法

结果

5.0+3.0

5.0.plus(3.0)

8.0

5.0-3.0

5.0.minus(3.0)

2.0

5.0*3.0

5.0.multiply(3.0)

15.0

5.0/3.0

5.0.divide(3.0)

1.6666666667

同上,除了取模运算符之外,Groovy的算术运算也适用于整数和浮点数的组合。表2-3给出一些范例。

表2-3 混合运算

表达式

调用方法

结果

5+3.2

5.plus(3.2)

8.2

5.6 + 3

5.6.plus(3)

8.6

5 - 3.2

5.minus(3.2)

1.8

5.6 - 3

5.6.minus(3)

2.6

5 * 3.2

5.multiply(3.2)

16.0

5.6 * 3

5.6.multiply(3)

16.8

5 / 3.2

5.divide(3.2)

1.5625

5.6 / 3

5.6.divide(3)

1.8666666667

如上述几个表所示,不管整数组合,还是整数和浮点数组合,除法运算通常都会得到相同的结果。下面所有组合的结果都是2.6:

13.0/5
13/5.0
13/5

为了获得两个整型值相除的整数部分,必须调用intdiv方法:
13.intdiv(5)

该表达式的结果是整数2。

使用取模运算符(%)可以得到两个整数操作数相除的余数,因此,

13%5   结果值为3
15%5   结果值为0

请注意,对一个浮点数求模,或者对一个含有浮点数参数的整数求模都是非法的。因此,表达式13.0%5.0,13.0%5,13%5.0都会提示mod方法被错误地调用。

原创粉丝点击