![]() ![]() |
|
二级JAVA第三章辅导:运算符和表达式 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:42:31 文章录入:杜斌 责任编辑:杜斌 | |
|
|
运算符指明对操作数所进行的运算。按操作数的数目来分一元(如+-),二元运算符(如+、>)和三元运算符(如?:),它们分别对应于一元运算符来说,可以有前缀表达式(如++i)和后缀表达式(如采用中缀表达式(如a+b)。按照运算符功能来分,基本的运算符分下面几类: 算术运算符(+,-,*,/,%,++,--) 本章中我们主要讲述前6类运算符。 §3.1算术运算符 算术运算符作用于整型或浮点型数据,完成算术运算。 一、二元算术运算符,如下表所示 运算符 用法 描述 Java对加运算符进行了扩展,使它能够进行字符串的连接,如"abc"+"de",得到串"abcde"。我们将在第七章中讲解。 与C、C++不同,对取模运算符%来说,其操作数可以为浮点数,如37.2%10=7.2。 二、一元算术运算符,如下表所示: 运算符 用法 描述 i++与++i的区别: i++在使用i之后,使i的值加1,因此执行完i++后,整个表达式的?为i,而i的值变为i+1。 ++i在使用i之前,使i的值加1,因此执行完++i后,整个表达式和i的值均为i+1。 对i--与--i同样。 例3.1.下面的例子说明了算术运算符的使用 public class ArithmaticOp{ 其结果为: C:\>java ArithmaticOp a=9 §3.2关系运算符 关系运算符用来比较两个值,返回布尔类型的值true或false? 关系运算符都是二元运算符,如下表所示: 运算符 用法 返回true的情况 Java中,任何数据类型的数据(包括基本类型和组合类型)都可以通过==或!=来比较是否相等(这与C、C++不同)。 关系运算的结果返回true或false,而不是C、C++中的1或0。 关系运算符常与布尔逻辑运算符一起使用,作为流控制语的判断条件。如 if(a>b&&b==c)
布尔逻辑运算符进行布尔逻辑运算,如下表所示: op1 op2 op1&&op2 op1||op2 !op1 ·&&、‖ 为二元运算符,实现逻辑与、逻辑或。 ·!为一元运算符,实现逻辑非。 ·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false。 下面的例子说明了关系运算符和布尔逻辑运算符的使用。 public class RelationAndConditionOp{ 其运行结果为: C:\>java RelationAndConditionOp a<b=false 注意:上例中,第二个if语句在运行时不会发生除0溢出的错,因为e!=0为false,所以就不需要对a/e进行运算。 §3.4位运算符 位运算符用来对二进制位进行操作,Java中提供了如下表所的位运算符:位运算符中,除 ~ 以外,其余均为二元运算符。操作数只能为整型和字符型数据。 3.4.1补码 Java使用补码来表示二进制数,在补码表示中,最高位为符号?,正数的符号位为0,负数为1。补码的规定如下: 对正数来说,最高位为0,其余各位代表数值本身(以二进制?示),如+42的补码为00101010。 |
|
![]() ![]() |