7.5.4 逻辑运算符

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

逻辑运算符用于对布尔类型的表达式进行运算,运算的结果是布尔类型。逻辑运算符包含如下三组:

l &&(and):逻辑与

2 ||(or):逻辑或

3 !(not):逻辑非

上面三个逻辑运算符中的&&(and)和||(or)是二元运算符,而!(not)是一元运算符。在使用逻辑运算符时应注意以下几点:

l 如果逻辑运算符的操作数不是布尔类型,则EL引擎会将这些操作数转换成布尔类型,如果类型无法转换,则抛出异常。

2 如果在执行逻辑运算的过程中已经可以确定最终的值时,EL引擎就不会再进行后面的逻辑运算。例如,${4 and true}会抛出异常,是因为4无法转换成布尔类型,但如果是${true || 4 and true},则输出true,这是由于第一个true已经可以确定整个表达式的执行结果就是true了,因此,没必要再往下执行了。这个现象也被称为“逻辑短路”。

3 如果使用逻辑运算符括号内的形式,操作数体和逻辑运算符之间至少得有一个空格、tab等字符。

表7.4是逻辑运算符的应用举例。

表7.4 逻辑运算符的应用举例

逻辑运算符

执行结果

逻辑运算符

执行结果

${true && false}

false

${true or (4 > "32")}

false

${false || "true"}

true

${not false}

false

${(4 > 5) && (6 < 3)}

false

${4 > "a"}

抛出异常