- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.2.3 运算符及表达式 运算符是对一个或多个操作数进行某种特定运算的标志符号。在Java中,运算符很丰富,有常用的算术运算符、逻辑运算符、位运算符和对象操作运算符。如果我们按操作数的多少来分,又有单目运算符、两目运算符及三目运算符。表达式是运算符、常量和变量的组合。在这节中,先介绍运算符的基本概念,然后讨论表达式的用法。 1.算术运算符 与C/C++相似,Java算术运算符用于整型或实型数的运算,可分为一元运算符和二元运算符两种。一元运算符如表2.6所示。 表2.6 一元算术运算符表 运算符 用 法 功能描述 + +OP 正值 ? ?OP 负值 ++ ++OP,OP++ 加1(自增) ?? ??OP,OP? ? 减1(自减) 上表中,自增、自减运算符既可以放于操作数之前,也可以放于操作数之后,这是初学者需注意的地方。当放在操作数之前,则是先进行自增/自减运算,再把其结果用于后继的操作;如果放在操作数之后,则是先进行别的运算,然后再进行自增/自减运算。另外,自增/自减运算符只能作用于变量,而不能作用于常量或表达式。看下面的例子: int i=2; int j=3; int m=++j+i; int k=m+i++; 在运行完上述四条指令后,i,j的值均加1成为3,4,而m,k的值变成了6,8。需要注意的是,由于第三条语句中出现了++j,故m的值为6,第四条语句中是i++,所以k的值为8。从上面的例子中,可以知道,自增/自减运算符使用灵活,但容易造成副作用,实际应用时须十分小心。再看一个例子: int i=2; int j=3; System.out.println(i+++j); System.out.println(+++j); 当运行上述的四条指令时,第三条指令的输出结果为5,而第四条指令出错。这是因为对于第三条指令而言,系统把i+++j解释为i++(+j),结果为5,而第四条指令被解释为++(+j),由于自增/自减运算符不能作用于表达式,所以出错。 Java的二元运算符有+,?,*,/,%五种,其用法与C/C++类似,见表2.7所示。 表2.7 二元运算符用法表 运算符 用 法 功能描述 + OP1+OP2 加 ? OP1?OP2 减 * OP1*OP2 乘 / OP1/OP2 除 % OP1%OP2 求余 前四条运算符都是常用的算术运算,第四条运算符为取模运算,即求两操作数相除的余数:当被除数为正时,结果为正,当被除数为负数结果为负。 实际应用中,算术运算的操作数常常具有不同的类型,比如说,一个操作数为int型,另一个操作数为long型,一旦碰到这种情况,就需要进行类型的转换。一般原则是保证结果的数据类型与精度最高的操作数数据类型一致。转换规则如表2.8所示。 表2.8 类型转换规则 类型1 类型2 结 果 char int int byte/short int int byte/short/int long long byte/short/int/long float float byte/short/int/long/float double double 2.关系运算符 关系运算符用于两个值之间的关系比较,其返回值为布尔类型,表2.9给出了关系运算符的使用方法。
文档评论(0)