本章目标
掌握表达式中各种运算符的使用。
运算符
在表达式语言中为了方便用户的显示操作定义了许多数学运算符、关系运算符、逻辑运算符等,使用这些运算符将使得JSP页面更加简洁,但是对于太复杂的操作还是应该在Servlet或JavaBean中完成,在使用这些运算符的时候,所有的操作内容也可以直接使用设置的属性,而不用考虑转型的问题。
数学运算符
数学运算操作
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<html>
<head>
<title>算术运算操作</title>
</head>
<body>
<%
//设置 page 范围属性,基本数据类型自动变为包装类
pageContext.setAttribute("num1", 20);
pageContext.setAttribute("num2", 30);
%>
<h3>加法操作:${num1 + num2}</h3>
<h3>减法操作:${num1 - num2}</h3>
<h3>乘法操作:${num1 * num2}</h3>
<h3>除法操作:${num1 / num2} 和 ${num1 div num2} </h3>
<h3>取模操作:${num1 % num2} 和 ${num1 mod num2} </h3>
</body>
</html>
效果图:
关系运算符
验证关系运算符
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<html>
<head>
<title>验证关系运算符</title>
</head>
<body>
<%
//设置 page 范围属性,基本数据类型自动变为包装类
pageContext.setAttribute("num1", 20);
pageContext.setAttribute("num2", 30);
%>
<h3>相等判断:${num1 == num2} 和 ${num1 eq num2}</h3>
<h3>不等判断:${num1 != num2} 和 ${num1 ne num2}</h3>
<h3>小于判断:${num1 < num2} 和 ${num1 lt num2}</h3>
<h3>大于判断:${num1 > num2} 和 ${num1 gt num2}</h3>
<h3>小于等于判断:${num1 <= num2} 和 ${num1 le num2}</h3>
<h3>大于等于判断:${num1 >= num2} 和 ${num1 ge num2}</h3>
</body>
</html>
效果图:
逻辑运算符
验证逻辑运算符
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<html>
<head>
<title>验证逻辑运算符</title>
</head>
<body>
<%
//设置 page 范围属性,基本数据类型自动变为包装类
pageContext.setAttribute("flagA", true);
pageContext.setAttribute("flagB", false);
%>
<h3>与操作:${flagA && flagB} 和 ${flagA and flagB}</h3>
<h3>或操作:${flagA || flagB} 和 ${flagA or flagB}</h3>
<h3>非操作:${!flagA} 和 ${not flagA}</h3>
</body>
</html>
效果图:
其他运算符
验证其他操作符
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<html>
<head>
<title>验证其他运算符</title>
</head>
<body>
<%
//设置 page 范围属性,基本数据类型自动变为包装类
pageContext.setAttribute("num1", 10);
pageContext.setAttribute("num2", 20);
pageContext.setAttribute("num3", 30);
%>
<h3>empty 操作:${empty info} </h3>
<h3>三目操作:${num1>num2?"大于":"小于"}</h3>
<h3>括号操作:${num1 * (num2+num3)} </h3>
</body>
</html>
小结
使用表达式中的运算符可以方便的完成各种运算操作,从而避免使用转型所代码的麻烦。