public class AutoInc static Test monitor new Test( public static void main(String[] args)i System. out. println("i System. out. println("++i # +++i);//Pre Increment In( System. out. println("--i : "+--i);//Pre- decrement System. out. println("i "+i--);//Post decrement System. out. println("i monitor.expect (new String[] i "i++:2 i-11 }///:~ 你可以看到,运算符前置的时候,你所得到的是经过计算的值,但是运算 符后置的情况下,你所得到的是还未进行过处理的值。这是唯一一种(除 了赋值之外)还有其它附带用途的操作符。(也就是说,不是要用它来进行 计算,而是要用它来修改操作数。) 递增运算符也是C++命名的原因之一,它的寓意是“比C更进一步” 在早期的Java访谈中, Bill Joy(Sun的创建者之一)说,“Java C++-”(C++的递减)。他的意思是,Java是一种去除了C++中多余 的复杂性的语言,因此它是一种更为简单的语言。随着本书的进展,你会 看到很多地方都变得更简单了,但是Java还不到“比C++简单得多” 的地步。 关系运算符 关系运算符会产生 boolean类型的结果。它们会判断操作数的值的大小 关系。如果这种关系为真,则关系表达式返回true,如果这个关系为 假,则返回 false。关系运算符有小于(<),大于(>),小于等于(<=), 大于等于(>=),相等(==)以及不等(!=)。所有的内置数据类型都能比 较相等( equivalence)和不等( nonequivalence),但是对 boolean类 型,除了相等和不等的之外,其它比较是没意义的 测试对象的相等性 第10页共48页shhgs@wgqqh.com 10 ✁ ✂ 48 ✁ public class AutoInc { static Test monitor = new Test(); public static void main(String[] args) { int i = 1; System.out.println("i : " + i); System.out.println("++i : " + ++i); // Preincrement System.out.println("i++ : " + i++); // Postincrement System.out.println("i : " + i); System.out.println("--i : " + --i); // Predecrement System.out.println("i-- : " + i--); // Postdecrement System.out.println("i : " + i); monitor.expect(new String[] { "i : 1", "++i : 2", "i++ : 2", "i : 3", "--i : 2", "i-- : 2", "i : 1" }); } } ///:~ ¡ÝE<g (M¡Dg(õ^@(L (¡Dg((^¢(L 33 (R ,~Lu½ )m§A,(1 ([$X%AQ( @à%AQïð1") [ C++Ñ(åæu3A(¹Í8 C (3ÃÏ F@( Java !*B il l Joy (Sun (§¨u3)$Í Java = C++--Ï(C++(P)G(¹}Java 3+R, C++*Vo (Ö×ð(æòA3)t(¸. (("¡º <gVrµÆ)t, Java XgÍ8 C++)tVÏ (rà # ºJ0 boolean e$(OÅAWºno1"(L(Âß #ÄÅ #%s#hi´Þ¼ trueÄÅ ×# sÞ¼ fal se# mß)(< )Â)(> )ß)-)(< =) Â)-)(> =)>-(==)E<X-(! =)Dm("#e$Æ;8 >-(equival en ce)X-(n on equival en ce)¥ boolean e $R,>-X-(u½§A8¹ä(