7.5 WMLScript操作符与表达式 - 编程吧

上一篇 | 下一篇

7.5 WMLScript操作符与表达式

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 23次


7.5  操作符与表达式
在WMLScript中,表达式可以把变量、常量与操作符结合起来,经过运算能够产生一定的运算结果。表达式运算后产生的结果可以是整数型、浮点数型、字符串型或布尔型的数据。其实,对于表达式我们并不陌生,例如,1+2就是一个简单的表达式。

WMLScript的表达式主要有两种类型。一种是赋值表达式,即把数据赋给变量的一种表达式,例如,myBook=3,在这个表达式中,将3赋给变量myBook,同时,这个表达式本身也有一个运算结果,那就是3。另外一种是运算表达式,它是只运算产生一个运算结果而不进行赋值操作的表达式,例如1+2就是一个运算表达式,在这个表达式运算产生的结果是3,但这个表达式并没有把运算结果赋给变量。

在表达式运算的过程中,表达式中操作一个或者两个数据产生运算结果的符号称作操作符,被操作符操作的数据称作操作数,在WMLScript中我们会使用到各种操作符,下面就对操作符及有关的表达式进行详细讲解。

7.5.1  赋值操作符
赋值操作符用于赋值操作,即给变量指定所需的数值,它能把右操作数的运算结果赋给左操作数,最简单的赋值操作符就是“=”,例如x=2,就是将2赋值给变量x。再如以下几行语句都是赋值操作:

var a = "abc";

var b = a;

b = "def";

赋值操作符不需要指定使用对象,也不会改变赋值操作符右边变量的数值。WMLScript的赋值操作符主要包括以下几种:

(1) =。用于赋值操作,将右操作数赋给左操作数。

(2) +=。将右操作数与左操作数进行相加运算,然后把运算结果赋值给左操作数。例如,假设x=3,那么x+=2运算后的结果为x=5。

+=是比较特别的操作符,因为它可以将两个字符串相连,所以+=操作符也可以对字符串进行操作,然后将连接后的字符串赋给左操作数。例如,假设x="Happy ",那么x+="New Year"运算后结果是x="Happy New Year"。

(3) -=。将左操作数减去右操作数,然后把运算结果赋值给左操作数。例如,假设x=3,那么x-=2运算后的结果为x=1。

(4) *=。将左操作数与右操作数进行相乘运算,然后把运算结果赋值给左操作数。例如,假设x=3,那么x*=2运算后的结果为x=6。

(5) /=。用右操作数除以左操作数,然后把运算结果即求得的商赋值给左操作数。例如,假设x=6,那么x/=2运算后的结果为x=3。

(6) div=。用右操作数除以左操作数,然后把运算结果中的整数部分赋值给左操作数。例如,假设x=7,那么x div=2运算后的结果为x=3。

(7) %=。功能是求余数并赋值,用右操作数除以左操作数,最后把运算得到的余数赋值给左操作数。例如,假设x=7,那么x%=3运算后的结果为x=1。

(8) <<=。功能是带符号左位移并赋值,即将左操作数和右操作数进行左位移操作,再将结果赋给左操作数。例如,假设x=6,那么x<<=2运算后的结果为x=24。

(9) >>=。可将左操作数和右操作数进行右位移操作,再将结果赋给左操作数。

(10) >>>=。用于将左操作数和右操作数进行补零右位移操作,再将结果赋给左操作数。

(11) &=。功能是先将左操作数和右操作数进行位与的逻辑运算,然后再将结果赋给左操作数。例如,假设x=6,那么x&=3运算后的结果为x=2。

(12) ^=。功能是先将左操作数和右操作数进行位异或的逻辑运算,然后再将结果赋给左操作数。

(13) |=。先将左操作数和右操作数进行位或的逻辑运算,然后再将结果赋给左操作数。

7.5.2  数学运算操作符
数学运算操作符可以对数值类型的操作数进行运算,然后返回一个数值类型的运算结果。例如:

var y = 1/4;                  // 4除1得0.25,所以y被赋值0.25

var x = y*3+(++b);              // 这是一个更为复杂的数学运算

WMLScript的数学运算操作符介绍如下:

(1) +。这是加运算操作符,它对应着数学运算中的加法运算,例如表达式1+2的运算结果为3。

加操作符还可以对字符串类型的操作数进行运算,然后将两个字符串相连起来作为运算结果。例如,"How are "+"you!"的运算结果为"How are you!"。

注意,这里讲到的“+”和前面介绍的“+=”操作符都可用于字符串的运算,其他有关字符串的操作功能全部在String函数库中。该库情况我们下一章会详细介绍的。

(2) -。即减操作符,对应着数学运算中的减法运算,例如表达式2-1的运算结果为1。

同时,“-”还是一个取负操作符,当它作为取负操作符的时候,它只有一个操作数,取负操作符的功能是返回操作数的相反数。例如如果变量j的值为2,那么-j这个表达式的值为-2。

(3) *。这是乘操作符,它对应着数学运算中的乘法运算,例如表达式2*3的运算结果为6。

(4) /。即除操作符,对应着数学运算中的除法运算,但WMLScript中的除法运算有些特别,在WMLScript中,除法运算后的结果是一个浮点数,而不象C语言或者Java语言那样在整数进行除法运算时将运算结果强行转化整数。在WMLScript中,1/2=0.5,而在Java中,1/2=0。

(5) div。这是整除操作符,对应着数学运算中的整除运算,运算后的结果是一个整数,这一点与C语言或者Java语言中的情况是一样的,可以在整数进行除法运算时将运算结果强行转化整数。例如,5 div 2=2。

(6) %。即取模操作符,它对应着数学运算中的取模运算,也就是将两个操作数相除,返回相除后的余数,例如表达式5%3的运算结果为2。

取模操作符主要用于判断一个数字是否能被另外一个数字整除,例如,如果我们希望知道某个年份是否是闰年,我们可以采用如下判断方法:如果这个年份能够被4整除,并且不能被100整除,那么,这个年份是闰年,另外,如果这个年份能够被400整除,那么这个年份也是闰年。假设年份为theYear,那么判断是否为闰年的WMLScript表达式如下所示:

((theYear%4==0)&&(theYear%100!=0))||(theYear%400==0)

其中&&代表的是逻辑运算中的与运算,||代表的是逻辑运算中的或运算,关于逻辑运算,我们后面会详细介绍。

(7) ++。这是递增操作符,它只有一个操作数,操作数可以在操作符的左边,也可以在操作符的右边,它所完成的运算操作是将操作数加1。假设操作数名称为j,值为2,那么++j是首先将j加1,然后返回j的值3;而j++则是先返回j的值2,然后将j加1。

在循环中,我们常常会用到递增操作符,虽然x=x+1和x++在运算后对于x的效果是完全相同的,但在大多数情况下,我们会选择使用x++。

(8) --。这是递减操作符,它与递增操作符的作用正好相反。递减操作符完成的运算操作是将操作数减1。例如,假设操作数名称为j,值为2,那么--j先将j减1,然后返回j的值1;而j--是先返回j的值2,然后将j减1。

字号: | 推荐给好友

 

评分:0

我来说两句

seccode