文档介绍:Chapter 4
运算符、表达式与语句
程序是由许多语句(statement)组成的,而语句的基本单位是表达式与运算符。本章将介绍Java运算符的用法、表达式与运算符之间的关系,以及表达式里,各种变量数据类型的转换等等。
4-1 表达式与运算符
Java中的语句有很多种形式,表达式是其中一种语句。表达式是由操作数与运算符所组成;操作数可以是常量、变量甚至是函数,而运算符就是数学上的运算符号,如“+”、“-”、“*”、“/”等。以下面的表达式(a+10)为例,a与10都是操作数,而+则为运算符。
运算符
表达式
操作数
操作数
a
+
10
图4-1 表达式是由操作数与运算符所组成
Java提供了许多的运算符,这些运算符除了可以处理一般的数学运算外,还可以做逻辑运算、地址运算等。根据运算符所使用的类,可分为赋值、算术、关系、逻辑、递增与递减、条件、括号运算符等……
4-1-1 赋值运算符
想为各种不同数据类型的变量赋值时,就必须使用赋值运算符。
表4-1 赋值运算符
赋值运算符
意义
=
赋值
等号(=)在Java中并不是“等于”,而是“赋值”的意思。还记得在前面几章中为变量赋值的语句吗?
变量名称
设置值
14
age
=
上面的语句是将整数14赋值给age这个变量。
再看看下面这个语句:
age=age+1;
// 将age+1的值运算之后再赋值给变量age存放
从未学习过C或C++的,可能会不习惯这种思考方式。若是把等号(=)当成“等于”,这种语句在数学上根本行不通,但是把它看成“赋值”时,这个语句就很容易解释了,把age+1的值运算之后再赋值给变量age存放,因为之前已经把变量age的值设为14,所以执行这个语句时,Java会先处理等号后面的部分age+1(值为15),再赋值给等号前面的变量age,执行后,存放在变量age的值就变成15了。
4-1-2 一元运算符
对于大部分的表达式而言,运算符的前后都会有操作数。但是有一种就很特别,称为一元运算符,它只需要一个操作数。如下面的语句,均是由一元运算符与一个操作数所组成的。
+3; // 表示正3
~a; // 表示取a的补码
b=-a; // 表示负a的值赋值给变量b存放
!a; // a的NOT运算,若a为零,则!a为1,
若a不为零,则!a为零
举例:
表4-2 一元运算符
一元运算符
意义
+
正号
-
负号
!
NOT,否
~
取1的补码
4-1-3 算术运算符
算术运算符(Mathematical Operator)在数学上面经常会使用到,表4-3列出了它们的成员:
表4-3 算术运算符
算术运算符
意义
+
加法
-
减法
*
乘法
/
除法
%
余数
加法运算符“+”
将加法运算符“+”的前后两个操作数相加.
减法运算符“-”
将减法运算符“-”前面的操作数减去后面的操作数.
乘法运算符“*”
将乘法运算符“*”的前后两个操作数相乘
除法运算符“/”
将除法运算符“/”前面的操作数除以后面的操作数,如下面语句: