蛋疼的一道java题

麦田
博客专家认证
2013-06-08 07:36:05
public class T {

public static void main(String[] args) {
// TODO Auto-generated method stub
int test = 1;
for(int i=0;i<3;i++){
int j = 0;
mark:
while(j<5){
if(++j==3){
break mark;
}
test+=1;
}
}
System.out.println(test);
}
}

这道题到底等于多少啊,在eclipse里运行是7
可断点调试的时候,有的是2,4,5 甚至还有等于16的。

为什么每次都不一样.......
...全文
395 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
麦田 2013-06-10
  • 打赏
  • 举报
回复
引用 16 楼 hjw506848887 的回复:
用嘴算,也是7啊。。。。。。
结果是7,我是说断点调试的时候...
麦田 2013-06-10
  • 打赏
  • 举报
回复
引用 17 楼 p1345234022 的回复:
mask: while(j<5){ if(++j==3){ break mark; } test+=1; } 楼主写这段代码有什么意思呢? 是想说明mask:标识吗?
是的,一种跳出循环语句的标识
麦田 2013-06-10
  • 打赏
  • 举报
回复
引用 13 楼 flagiris 的回复:
[quote=引用 8 楼 itmyhome 的回复:] [quote=引用 7 楼 AA5279AA 的回复:] 我断点调试出来也是7 不知道楼主怎么调试的、
选中++j 右键 Watch查看一下这个值 然后继续走断点。。。[/quote] 千万不要把++j,xxx.next()之类的本身就可变的变量等放到watch里, 这样可能会多算几次, 你应该直接把 j 放到watch里监视就可以了。。。[/quote] 谢谢,是这样的,确实不能这样干,当时纠结了好久..
p1345234022 2013-06-10
  • 打赏
  • 举报
回复
mask: while(j<5){ if(++j==3){ break mark; } test+=1; } 楼主写这段代码有什么意思呢? 是想说明mask:标识吗?
菖蒲老先生 2013-06-10
  • 打赏
  • 举报
回复
引用 8 楼 itmyhome 的回复:
[quote=引用 7 楼 AA5279AA 的回复:] 我断点调试出来也是7 不知道楼主怎么调试的、
选中++j 右键 Watch查看一下这个值 然后继续走断点。。。[/quote] 千万不要把++j,xxx.next()之类的本身就可变的变量等放到watch里, 这样可能会多算几次, 你应该直接把 j 放到watch里监视就可以了。。。
  • 打赏
  • 举报
回复
用嘴算,也是7啊。。。。。。
lcf 2013-06-10
  • 打赏
  • 举报
回复
选中++j再watch,会计算该表达式的值,所以j就被多加了几次
cockroachhz2012 2013-06-10
  • 打赏
  • 举报
回复
i = 0; j = 0; test = 1; i = 0; j = 1; test = 2; i = 0; j = 2; test = 3; i = 0; j = 3; test = 3; i = 1; j = 0; test = 3; i = 1; j = 1; test = 4; i = 1; j = 2; test = 5; i = 1; j = 3; test = 5; i = 2; j = 0; test = 5; i = 2; j = 1; test = 6; i = 2; j = 2; test = 7; i = 2; j = 3; test = 7;
sxnbo 2013-06-10
  • 打赏
  • 举报
回复
我扣子脚板看了下也是7
roadcow 2013-06-09
  • 打赏
  • 举报
回复
我运行的结果是7额
Storm-Shadow 2013-06-08
  • 打赏
  • 举报
回复
有点意思的啊
编程点滴 2013-06-08
  • 打赏
  • 举报
回复
重新试一下吧
麦田 2013-06-08
  • 打赏
  • 举报
回复
引用 7 楼 AA5279AA 的回复:
我断点调试出来也是7 不知道楼主怎么调试的、
选中++j 右键 Watch查看一下这个值 然后继续走断点。。。
失落夏天 2013-06-08
  • 打赏
  • 举报
回复
我断点调试出来也是7 不知道楼主怎么调试的、
麦田 2013-06-08
  • 打赏
  • 举报
回复
引用 3 楼 rencht 的回复:
手算了一遍,是7,这到底有什么疑问?
同五楼
麦田 2013-06-08
  • 打赏
  • 举报
回复
引用 4 楼 u010993384 的回复:
在test += 1;处添加调试点,调试得到结果都是7 请问你是怎么调试的?
调试过程中,选中++j 右键 Watch查看一下这个值,然后就各种值都有了...
WingSpread 2013-06-08
  • 打赏
  • 举报
回复
在test += 1;处添加调试点,调试得到结果都是7 请问你是怎么调试的?
rencht 2013-06-08
  • 打赏
  • 举报
回复
手算了一遍,是7,这到底有什么疑问?
victor_woo 2013-06-08
  • 打赏
  • 举报
回复
蛋疼 学java你们就学这屁玩意?
花木兰1闪21A 2013-06-08
  • 打赏
  • 举报
回复
我运行都是7。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧