的类型转达换是指数值数据的类型自动转换,
这样的自动转换只能是简单类型向复类型转换,不能从
·7·第2章运算和语句
复杂的转换成简单的。即如下所示的从左到右转换。
byte→short→int→long→float→double
Java语言约定赋值运算也有值,它的值就是赋予变
量的值,因此,赋值运算的结果可以继续赋值。
intj;
doubley=2.0;
y=j=3;∥j的值为3,y的值为3.0
赋值运算符结合性“自右至左”当连续有多个赋值
运算时,是从右至左逐个赋值。
2.复合赋值运算
这类运算的特殊性点是:变量即要参与运算,又要
接受赋值。为避免对同一个变量的地址重复,计算引入
复合赋值运算符。常用的复合赋值运算符有:+=、
-=、=、/=、%=。
2.1.2算术运算
算术运算要求运算分量的类型是数值类型的(整数
类型和浮点数类型)。运算时,只需一个运算分量的是
单目运算,需两个运算分量的是双目运算。特别的:
(1)“/”为除法运算符,当除数和被除数均为整数类型
数据时,则结果也是整数类型数据。例如7/4的结果为1。
(2)“%”为求余数运算符,求余数运算所得结果的符
号与被除数的符号相同。例如5%3的结果为2,-5%3的
结果为的结果为3。
·8·Java语言程序设计(一)
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
上述例子说明,对变量采用自增(或自减),用前缀
形式或用后缀形式,对变量本身来说,效果是相同的,但
表达式的值不相同。前缀形式是变量运算之后的新值,
后缀形式是变量运算之前的值.
自增自减运算能使程序更为简洁和高效,但在使用
·9·第2章运算和语句
时需注意“++”和“!!”运算的运算对象只能是变量,
不能是常量或表达式.例如,4++或(i+j)++都是不
合法的.
2.1.4关系运算
关系运算对左右两侧的值进行比较,如果比较运算
的结果成立,则值为true,不成立为false。
关系运算符的优先级别不完全相同。<、<=、>、
>=的优先级高于==、!=。
关系运算符的优先级低于算术运算符的优先级。
2.1.5逻辑运算
逻辑运算用来描述表达式,实现连续多个条件的逻
辑与、逻辑或、逻辑否定的判定。有3个逻辑运算符:
""(逻辑与)、‖(逻辑或)、!(逻辑否定)
其中:运算符""和‖是双目运算符,运算符!是
单目运算符。逻辑运算的操作数必须是布尔型的,结果
也是布尔型的。
逻辑否定“!”的优先级高于算术运算符的优先级。
逻辑与“""”和逻辑或“‖”的优先级低于关系运算符
的优先级。
需要特别指出的是,逻辑与和逻辑或运算符有以下
性质,Java语言利用这些性质,在进行连续的逻辑运算
时,不分逻辑与和逻辑或的优先级进行计算,而是顺序
进行逻辑与和逻辑或的计算,一旦逻辑子表达式或逻辑
·01·Java语言程序设计(一)
表达式能确定结果,就不再继续计算。
(1)对表达式a""b,当a为false时,结果为
false,不必再计算b;仅当a为true时,才需计算b。
(2)对表达式a‖b,当a为true时,结果为true,不
必再计算b;仅当a为false时,才需计算b。
例如:设有a=b=c=1,计算++a>=1||++b<
++c。从左到右顺序计算逻辑或表达式,先计算子表
达式++a>=1,变量a的值变为2,++a>=1为
true,整个逻辑表达式的值已经为true,不再计算右边的
子表达式++b<++c。因而,变量b和变量c的值不
变,仍为1。
2.1.6条件运算(?:)
条件运算是一个三目运算符,一般形式为:逻辑表
达式?表达式1:表达式2
2.1.7其他运算
1.位运算
位运算的运算分量只能是整型数据,位运算把运算
对象看作是由二进制位组成的位串,逐位完成指定的运
算,得到一个新的位串。
位运算符有4个,按优先级从高到低顺序,依次为:
~(位反)、&(位与)、^(位异或)、|(位或)
用位运算的组合可以用来描述各种特殊的位串运
算。例如,位运算表达式
·11·第2章运算和语句
((k-1)^)&k
能取下非0的整型变量k的最右边为1的那一位。
2.移位运算
移位运算是将整数作为二进制位的位串向左或向
右移动。移位运算符有三个,它们是:
左移运算符(<<)、算术右移运算符(>>)、逻辑
右移运算符(>> >)
移位运算有两个运算分量,左运算分量为移位的数
据对象,右运算分量的值为移位位数。移位运算符的优
先级低于算术算符,高于关系运算符,它们的结合方向
是自左至右。
Java语言允许数值型数据混合运算,不同类型的数
值数据混合运算时需要类型转换。对于数据表示字节
数少的类型数据转换成数据表示字节数较多的类型数
据,系统能自动实现转换。反之,例如,将一个long类数
据转换成int型数型,这种数据类型转换必须采用类型
强制转换。类型强制转换称作造型(cast),书写格式为:
(类型)表达式
2.2语句
在Java语言中,语句分为基本语句、控制结构语句
以及package语句和import语句等。其中控制结构语
句包括复合语句、if语句、switch语句、循环语句和
try...catch语句。其中循环语句有 while语句、do...
·21·Java语言程序设计(一)
while语句、for语句三种。
2.2.1基本语句
上一篇:
自编程序使用方法部分代码_java代码
下一篇:
西方政府再造的政治理论