阅读下面程序 import javax.swing.JOptionPane; public class BreakLabelTest{ public static void main (String args[]){

admin2009-03-16  30

问题 阅读下面程序
   import javax.swing.JOptionPane;
   public class BreakLabelTest{
        public static void main (String args[]){
           String output=" ";
           stop:{
              for(int row=1;row<10;row++){
                for(int column=1;column<=5;column++){
                  if(row=5)
                    break stop;
                  output+=" * ";
               }
               output+=" \n ";
            }
         output+="\nLoops terminated normally";
       }
      JOptionPane.showMessageDialog(
         null,output,"用一个标志测试break语句”,
         JOptionPane.INFORMATION_MESSAGE);
      System.exit(0);
      }
   }
   程序运行结果是

选项 A、窗口中有5行* * * * *
B、窗口中有5行* * * *
C、窗口中有4行* * * * *
D、窗口中有6行* * * * *

答案C

解析 break语句最常用的用法是在switch语句中,此外,还可以用break语句退出循环。break语句的另外一个作用就是提供一个“标签化中断”的语句,可以让程序退出任意的嵌套的花括号{}中的代码块。
   题目中的程序主体是一个二重for循环的嵌套,并且用花括号<)括住了一个代码块,同时在花括号之间加了一个标签“stop”。循环体内,当满足条件“row==5”时,执行语句“break stop”,即跳出stop所指定的代码块,;并从紧跟该块的第一条语句处开始执行。
   下面就分析二重for循环的执行。外层for语句的循环变量是row,范围是1到10。内层for循环,当row不等于5时,在字符串output后面连接五个“*”。内层循环结束后,再在output的后面加一个换行符“/n”。然后再返回到外层for循环执行,即把row的值加1。当row不等于5时,仍然在字符串output后面连接五个“*”和一个换行符“/n”。当row的值为5时,执行break stop语句,就跳出stop所指定的代码块,执行JOPtionPane.showMessageDialog语句。经过上述分析可知,内层循环在字符串output后面连接五个“*”和一个换行符“/n”的操作一共进行了四次。,因此,后面输出output结果时是四行“* * * * *”。因此,本题的正确答案是C。
转载请注明原文地址:https://kaotiyun.com/show/3gnp777K
0

最新回复(0)