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"} | 抛出异常 |