当前位置:IT认证>软件水平

问题:[填空题]

[填空题] 阅读下列程序段 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--; } 被输出到屏幕的第一行结果是 【9】 。

  

参考答案:

3and3

  参考解析

本题考查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)语句,即输出“3and3”。然后j的值减1,返回到外层while循环的开始继续判断条件。经过上述分析可知,本题划线处应填入“3and3”。

微信端