Groovy也支持两个一元运算符,以实现对某个数字变量的加一或者减一操作。一元运算符是指应用于一个操作数的运算符。通常,它们就是所说的自增运算符++和自减运算符--。比如,
value = value + 1
可以写成:
value++
同样,也可以使用
value--
来替代
value = value - 1
严格地说,把自增或者自减运算符放在变量的前面,也经常被称为前置自增或者前置自减运算法,表示对变量先执行加一或者减一运算;如果把自增或者自减运算符放在变量的后面,经常被称作后置自增或者后置自减运算符,表示后执行加一或者减一运算。前置自增运算 (preincrement)是首先对该变量执行加一运算,然后将该变量的新值用于其所在的表达式;后置自增运算 (postincrement)是出现该变量表达式中使用该变量值执行完该表达式后,再对该变量执行加一运算。前置自减 (predecrement)和后置自减 (postdecrement)运算与此类似。
举例来说,x++将原来x的值用于其表达式中,然后再执行加一运算。同理,++x将首先执行加一运算,然后在表达式运算中使用其新值。因此,
def x = 10
def y = x++ // x的值为11; 而y的值却为10
def p = 20
def q = ++p // p的值为21; q的值也为21
这两个自增运算符都可以通过调用next方法来实现。因此,x++和x.next()的功能是一样的。同样,自减运算符可以通过调用previous方法来实现。