第 3 章 运算符和表达式
运算符指明对操作数所进行的运算。按操作数的数目来分 ,可以有一元运算符 (如 ++、--),二元运算符(如 +、>)和三元运算符 (如?:),它们分别对应于一个、两个和三个操作数 。 对于一元运算符来说 ,可 以 有 前 缀 表 达 式 (如++i) 和后缀表达式 (如 i++),对于二元运算符来说则采用中缀表达式(如a+b)。 按照运算符功能来分,基本的运算符有下面几类 :
1.算术运算符 (+,-,*,/,%,++,--)
2.关系运算符 (>,<,>=,<=,==,!=)
3.布尔逻辑运算符 (!,&&,||)
4.位运算符 (>>,<<,>>>,&,|,^,~ )
5.赋值运算符 (=,及其扩展赋值运算符如+=)
6.条件运算符 ( ?:)
7.其它
(包括分量运算符• ,下标运算符 [],实例运算符 instance of,内存分配运算符new,强制类型转换运算符(类 型 ),方法调用运算符 () 等 )
本章中我们主要讲述前6类运算符 。
§ 3.1算 术 运 算 符
算 术 运 算 符 作 用 于 整 型 或 浮 点 型 数 据 ,完 成 算 术 运 算 。
一 、 二元算术运算符
如下表所示运算符用法描述
+ op1+op2 加
- op1-op2 减
* op1*op2 乘
/ op1/op2 除
% op1%op2 取模(求余)
Java对加运算符进行了扩展,使它能够进行字符串的连接 ,如 "abc"+"de",得到串 "abcde"。 我们将在第七章中讲解。 与C、 C++不同,对取模运算符%来说,其操作数可以为浮点数, 如 37.2=7.2。
二 、 一元算术运算符
如 下 表 所 示 :
运算符 用法 描述
+ +op 正值
- -op 负值
++ ++op,op++ 加1
-- --op,op-- 减1
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{
public static void main( String args[] ){
int a=5+4; //a=9
int b=a*2; //b=18
int c=b/4; //c=4
int d=b-c; //d=14
int e=-d; //e=-14
int f=e%4; //f=-2
double g=18.4;
double h=g%4; //h=2.4
int i=3;
int j=i++; //i=4,j=3
int k=++i; //i=5,k=5
System.out.println("a = "+a);
System.out.println("b = "+b);
System.out.println("c = "+c);
System.out.println("d = "+d);
System.out.println("e = "+e);
System.out.println("f = "+f);
System.out.println("g = "+g);
System.out.println("h = "+h);
System.out.println("i = "+i);
System.out.println("j = "+j);
System.out.println("k = "+k);
}
}
其结果为:
C:/>java ArithmaticOp
a = 9
b = 18
c = 4
d = 14
e = -14
f = -2
g = 18.4
h = 2.4
i = 5
j = 3
k = 5
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。