我有这个代码,这导致我错误。代码遍历列表并查看是否有任何用户登录,如果已登录,则计算它是哪个用户 - 第一个或第二个。
当我将break语句放入if中时,循环只找到第一个用户并且没有对第二个用户做任何事情 - 整个循环结束了!怎么样?我认为中断仅适用于它所在的立即块,即如果在{}中有中断,则它会突破,如果代码执行继续。
break语句是否会结束外部循环?
do {
if (userlogin){
if(how_many_logged_in == 0){
name1.setVisibility(View.INVISIBLE);
}
else if(how_many_logged_in == 1){
name2.setVisibility(View.INVISIBLE);
break ; //this is confusing - where does it break from?
}
}
} while (condition);
答案 0 :(得分:5)
根据java language specification,break
突然终止最内层的switch
,while
,do
或for
控件结构。因此,if/then/else
被忽略了。
答案 1 :(得分:1)