如果在里面完成"while循环"或者只是立即"if"内部是否打破语句?

ERJ*_*JAN -1 android boolean-logic if-statement break do-while

我有这个代码,这导致我错误.代码遍历列表并查看是否有任何用户登录,如果已登录,则计算它是哪个用户 - 第一个或第二个.

当我将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);
Run Code Online (Sandbox Code Playgroud)

bwt*_*bwt 5

具体根据Java语言规范,break突然结束的最内层switch,while,do,或for控制结构.所以,if/then/else简单地被忽略了.