7.5.2 算术运算符

优质
小牛编辑
135浏览
2023-12-01

EL中的算术运算符用于对整数和浮点数进行算述运算。算术运算符有5种,包括+、-、*、/(div)和%(mod),分别对应于加、减、乘、除和取余(也可以称为取模)5种运算。其中“-”既可以用作减号,也可以用作负号;“/”和“div”在进行除法运算时,无论操作数是整数,还是浮点数,运算结果都是浮点点。在使用算术运算符时应注意以下几点:

l 对于这5种算术运算符,如果两个操作数都是null,则运算结果为0,如${null / null}、${null * null}都输出“0”。

2 对于“+”、“-”和“*”运算符,只要某一个操作数为null,则将null作为0对待,例如,${null - 10}输出“-10”,${1 + null}输出“1”、${null * 20}输出“0”。

3 对于“/”和“div”运算符,如果分母为null或0,则执行结果为“Infinity”,例如,${10 / null}和${20 div null}都输出“Infinity”。

4  对于“%”和“mod”运算符,如果分母为null或0,则会抛出异常。例如,${20 % 0}、${10 mod null}都会抛出异常。

5 如果两个操作数一个是整数,另一个是浮点数,则运算结果是浮点数。例如,${20 + 22.0}输出“42.0”。

6 如果两个操作数有一个或两个是字符串,并且字符串可以转换成数字(整数或浮点数),则EL引擎会进行自动转换。例如,${"20" + 10}输出“30”,${-"1.5"}输出“-1.5”。

表7.2是上述5个算术运算符的应用举例。

     

算术运算符

执行结果

算术运算符

执行结果

${1 + 2}

3

${6 div 2}

3.0

${1.5 + 3}

4.5

${7 / null}

Infinity

${1.0 + 2}

3.0

${7 % 2}

1

${-20}

-20

${7 mod 5}

2

${2 * 3}

6

${"20" * 2}

40

${5 / 3}

1.6666666666666667

${10 mod null}

抛出异常

${8 * null}

0

${99 mod 0}

抛出异常

表7.2 算术运算符的应用举例