阅读下列程序段 int i=3,j; outer:while(i>0){ j=3; inner:while(j>0){ if(j<2) break outer; System.out.println(

admin2009-03-17  25

问题 阅读下列程序段
  int i=3,j;
  outer:while(i>0){
    j=3;
    inner:while(j>0){
        if(j<2) break outer;
        System.out.println(j+"and"+i);
        j--;
    }
   i--;
   }
    被输出到屏幕的第一行结果是【  】  。

选项

答案3 and 3

解析 本题考查Java的break跳转语句。在Java中,可以用break语句推出循环,并从紧跟该循环结构的第一条语句处开始执行。此外,break语句还提供了一个“标签化中断”的语句,可让程序退出多重嵌套循环。其中,标签就是加在要中断的那个循环之前,同时在这个标签后面必须跟一个冒号(:)。本题程序中inner和outer就是两个标签,分别加在内外两个循环之前。
   本题程序中,在生成两个变量i和j后,就判断i>0的结果为true,因此执行外层循环体。在外层循环中,首先为变量j赋值,然后判断条件j>0的结果也为true,因此执行内层循环体,首先判断条件j<2的结果为false,则不执行if语句中的break outer语句,而继续执行System.out.println(j+"and"+i)语句,即输出“3 and 3”。然后j的值减1,返回到外层while循环的开始继续判断条件。
   经过上述分析可知,本题划线处应填入“3 and 3”。
转载请注明原文地址:https://kaotiyun.com/show/egnp777K
0

最新回复(0)