单元的加号和减号运算符 单元的减号(-)和加号(+)与双元减号和加号完全相同。编译器会通过的表 达式来判断这个运算符到底是单元的还是双元的。例如,表达式 的意思就很明显。此外编译器也可以认出: 但是读代码的人就惨了,所以还是这样写更清楚: 单元减号表示负数。有单元减号就得有单元的正号,只是不起任何作用。 自动递增与递减 同C一样,Java里面到处都是简写。简写可以让程序写起来简单,至于 读取来怎么样,那得看情况。 递增和递减运算符(通常也被称作“自动递增auto- increment”和“自 动递减auto- decrement”运算符)是两种比较好的简写。递减的运算符 是一-,它的意思是“减小一个单位”。而递增得运算符是++,它的意 思是“增加一个单位”。比方说a是一个int,那么++a实际上同(a a+1)是等效的。递增和递减不但修改变量的值,而且会把这个值返 给变量。 这两个运算符还各有两个版本,也就是常提到的前置( prefix)和后置 ( postfix)。“前置递增(pre-iη crement)”的意思是+十运算符出现在 变量或者表达式的前面,而“后置递增(post- increment)”的意思是 ++运算符出现在变量或者表达式的后面。同样,“前置递减(pre decrement)”是指-运算符出现在变量或者表达式的前面,“后置递 减( post-decrement)”的意思是一-运算符出现在变量或者表达式的后 面。对于前置递增和前置递减,(也就是十+a和--a),操作过程是会先 计算再返回。对于后置递增和后置递减,(也就是a++和a-),操作步 骤是先返回再计算。下面就是举例 //: c03: AutoInc. java // Demonstrates the + and - operators mport com. bruceeckel. simpletest *i 第9页共48页shhgs@wgqqh.com 9 ✁ ✂ 48 ✁ t(PS(-)äS(+ )PSäSc>Ὰ^(h i´Qno × ght((]Ähi´ x = -a; (¹}wò½á¾[ÝEÙ!0 x = a * -b; £(ª,DE ¦«¿Í0 x = a * (-b); tPSh¿"mtPSmt(SóX9^1 C 3¦Java ˶gÆ)«)«ÝEÇâ«9Q)t±) ÜQÕZ¦Y< P (·[TU1Íý auto-in crem en tÏÍý P auto-decrem en tÏ ) e8()«P( -- A(¹}ÍPß3×tÏà ++ A(¹ }Íä3×tÏ8µ$ a 3× in tYZ ++a ñJ( a = a +1 )-Ø(PXïð(LàºP ×LÞ ¼¬ e× me× [·g((p refix) (postfix)Í (pre-increment)Ï(¹} ++ !íF
hi´(¶àÍ (post-increment)Ï(¹} ++ !íF
hi´(¶¦ÍP(predecrement)Ïy -- !íF
hi´(¶Í P(post-decrement)Ï(¹} -- !íF
hi´( ¶¥)P([ ++a --a)1^âº/ @ÁÞ¼¥)P([ a++ a--)1à /Þ¼Á@¶]0 //: c03:AutoInc.java // Demonstrates the ++ and -- operators. import com.bruceeckel.simpletest.*;