、算术运算、自增和自减运算、关系运算、逻辑运算、条件运算和字符串连接运算等。
2.1.1 赋值运算
在java语言中符号“=”是赋值运算符不是“相等”运算符(相等运算符是“==”见关系运算符的叙述)赋值运算分为两类:一是简单赋值运算;二是复合赋值运算。
1、简单赋值运算 简单赋值运算的一般形式如下:变量表达式,赋值运算的执行过程是:(1)计算赋值运算符右端的表达式。(2)当赋值运算两
侧的类型不一致时,将表达式值的类型自动转换成变量的类型。(3)将表达式的值赋值给变量,即存储到与变量对应的存储单元中。这里的类型转换是指数值数据的类型自动转换,这样的自动转换只能是简单类型向复杂类型转换,不能从复杂的转换成简单的。即如下所示的从左到右转换。byte→short→int→long→float→double java语言约定赋值运算也有值,它的值就是赋予变量的值,因此,赋值运算的结果可以继续赋值。
int j;
double y=2.0;
y=j=3;//j的值为3,y的值为3.0
赋值运算符结合性“自右至左”当连续有多个赋值运算时,是从右至左逐个赋值。
2、复合赋值运算,这类运算的特点是:变量即要参与运算,又要接受赋值。为避免对同一个变量的地址重复,计算引入复合赋值运算符。
常用的复合赋值运算符有:+=、-=、=、/=、%=。
2.1.2 算术运算
算术运算要求运算分量的类型是数值类型的(整数类型和浮点数类型)。运算时,只需一个运算分量的是单目运算,需两个运算分量的是双目运算。特别的:(1)“/”为除法运算符,当除数和被除数均为整数类型数据时,则结果也是整数类型数据。例如7/4的结果为1。(2)“%”为求余数运算符,求余数运算所得结果的符号与被除数的符号相同。例如5%3的结果为2,-5%3的结果为的结果为-2。
2.1.3 自增和自减运算
自增运算符“++”和自减运算符“--”是单目运算符,要求运算分量是数值类型的变量,其作用是使变量的值增1或减1,这两个运算符与变量结合有以下四种可能形式:++i前缀形式,表示在引用变量i之前,先使i加1,以加1后的i值为运算结果。-i前缀形式,表示在引用变量i之前,先使i减1,以减1后的i值为运算结果。i++后缀形式,表示在引用变量i之后,才使i加1,即以增1前的i值为运算结果。i--后缀形式,表示在引用变量i之后,才使i减1,即以减1前的i值为运算结果。
例如:
i=4;j=++i;//i结果为5,j的结果为5
i=4;j=i++;//i结果为5,j的结果为4
i=4;j=--i;//i结果为3,j的结果为3
i=4;j=i--;//i结果为3,j的结果为4
上述例子说明,对变量采用自增(或自减),用前缀形式或用后缀形式,对变量本身来说,效果是相同的,但表达式的值不相同。前缀形式是变量运算之后的新值,后缀形式是变量运算之前的值.自增自减运算能使程序更为简洁和高效,但在使用时需注意“++”和“--”运算的运算对象只能是变量,不能是常量或表达式.例如,4++或(i+j)++都是不合法的.
2.1.4 关系运算
关系运算对左右两侧的值进行比较,如果比较运算的结果成立,则值为true,不成立为false。关系运算符的优先级别不
完全相同。<、<=、>、>=的优先级高于==、!=。关系运算符的优先级低于算术运算符的优先级。
2.1.5 逻辑运算
逻辑运算用来描述表达式,实现连续多个条件的逻辑与、逻辑或、逻辑否定的判定。有3个逻辑运算符:&;&;(逻辑与)、||(逻辑或)、!(逻辑否定)
其中:运算符&;&;和||是双目运算符,运算符!是单目运算符。逻辑运算的操作数必须是布尔型的,结果也是布尔型的。逻辑否定“!”的优先级高于算术运算符的优先级。逻辑与&;&;和逻辑或||的优先级低于关系运算符的优先级。需要特别指出的是,逻辑与和逻辑