31. Public static void main (String[] argas) { Int j = 10; Int l =1; do { if(l++>--j) Continue; } } 这段代码执行结束后l和j的值分别是
时间: 2024-01-10 17:02:29 浏览: 163
这段代码会产生编译错误,因为if语句没有被正确地结束。if语句中缺少执行语句,导致代码无法编译通过。
如果我们将代码修改为以下形式:
```
public static void main(String[] args) {
int j = 10;
int l = 1;
do {
if(l++ > --j) {
continue;
}
} while (j > 0);
System.out.println("l = " + l + ", j = " + j);
}
```
代码的执行流程如下:
1. j 被初始化为 10, l 被初始化为 1。
2. 进入 do-while 循环。
3. 判断 l++ 是否大于 --j,此时 l=2,j=9,因此条件不成立,跳过 if 语句。
4. 判断 j 是否大于 0,此时 j=9,满足条件,继续执行循环。
5. 判断 l++ 是否大于 --j,此时 l=3,j=8,因此条件不成立,跳过 if 语句。
6. 判断 j 是否大于 0,此时 j=8,满足条件,继续执行循环。
7. 重复步骤3~6,直到 j=0,退出循环。
8. 输出结果,l=11,j=-1。
因此,执行结束后l的值为11,j的值为-1。
阅读全文