1
2 <%!static int I = 0;
3 int j = 0;%>
4 <html>
5 <body>
6 循环之前j的值:<%=j%>
7 <%
8 for (; j++ < 2;) {
9 out.print("循环中j=" + j+"<br>");
10 out.print("循环中I="+I++);
11 out.print("");
12 }
13 %>
14 循环之后j的值:<%=j%>
当第一个用户访问时,他们的值为:
循环之前j的值:0 循环中j=1
循环中I=0
循环中j=2
循环中I=1
循环之后j的值:3
当第二个用户访问时,他们的值为:
循环之前j的值:0 循环中j=1
循环中I=2
循环中j=2
循环中I=3
循环之后j的值:3
当第三个用户访问时,他们的值为:
循环之前j的值:3 循环之后j的值:4
当第四个用户访问时,他们的值为:
循环之前j的值:4 循环之后j的值:5
以后的用户访问,只有j在累加。
为什么在第二个用户访问时,j的值没有累加,在第三个用户访问时才累加呢?
为什么在没有static时,第一个用户访问时,他们的值为:
循环之前j的值:0 循环中j=1
循环中I=0
循环中j=2
循环中I=1
循环之后j的值:3
第二个用户访问时,他们的值为:
循环之前j的值:3 循环之后j的值:4
这是为什么呢?
static变量访问冲突,几个用户应该不是一个访问完第二个再来的,似乎有个并发的过程
你的问题在于你的访问次数与值你自己都没搞清楚,我看完后程序没错,显示也没有你说的问题,是你自己的逻辑不清楚。自己再仔细看看吧,没有问题。