A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雷楚光 中级黑马   /  2012-2-21 10:31  /  4511 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

continue、break不是判断语句吗?
那么在循环语句中怎么使用啊?难道还是作为判断语句间接使用。
return不是说返回码?难道也是作为判断语句来作为结束方法。

评分

参与人数 1技术分 +1 收起 理由
技术测试刘老师 + 1 基本功啊

查看全部评分

8 个回复

倒序浏览
continue 会致使循环跳过循环体中余下的语句,转而判断循环条件是否仍然成立,然后选择是否再次进入循环体。如果 continue 位于循环嵌套中的一个内循环,则其仅能影响该内循环的执行情况,而不会对外循环造成任何影响。而break是跳出循环,不再判断循环条件,如果 break 位于循环嵌套中的一个内循环,则仅跳出该内循环。
return是返回一个值,供调用它的函数使用,return不是判断!
回复 使用道具 举报
供参考:
  1. class TestDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int a =10;
  6.                 int count=0;
  7.                 for(int i=0;i<5;i++)
  8.                 {
  9.                         count++;
  10.                         if(a>12)
  11.                                 continue;
  12.                         a++;                               
  13.                 }
  14.                 System.out.println(a+","+count);
  15.                
  16.                 int b =10;
  17.                 count=0;
  18.                 for(int i=0;i<5;i++)
  19.                 {
  20.                         count++;       
  21.                         if(b>12)
  22.                                 break;       
  23.                         b++;                       
  24.                 }
  25.                 System.out.println(b+","+count);
  26.                
  27.                 System.out.println(sum(10,20));
  28.         }
  29.        
  30.         public static int sum(int m,int n)
  31.         {
  32.                 return m+n;       
  33.         }
  34. }
复制代码
回复 使用道具 举报
continue:结束本次循环,程序接着执行下一次循环
break:结束整个for或者while循环,程序跳出循环体,执行循环体外的下一个语句。

public class coollom
{
          public static void main(String args[])
                {
                          for(int  i=0; i<10; i++)
                                {
                                      System.out.print(i+" ");
                                        if(i%2==0)
                                           continue; //如果现在i%2==0,则不会执行下边的语句,否则相反
                           System.out.println("");// 你可以System.out.println("--");来调试下
                    }
                  }
}
回复 使用道具 举报
break,continue和return不是判断语句,是跳转语句,这些语句把控制转移到程序的另一个部分。
break:循环内遇到break语句,循环终止,程序在循环后下一条语句处继续执行。
continue:结束本次循环,使控制直接被转换到循环的条件表达式中,进入下一次循环。
return:将程序控制转移回方法的调用者,因此也被归为跳转语句。
回复 使用道具 举报
本帖最后由 王康 于 2012-2-21 11:36 编辑

1.break :跳出当前循环;但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环;

2.continue:终止当前循环,但是不跳出循环(在循环中continue后面的语句是不会执行了),继续往下根据循环条件执行循环。

重点:它们两个都是从循环中跳出,而不是从判断中跳出

示例如下:

public class Demo {
// Break 跳出当前循环
public void testBreak(){
   for(int i=0;i<6;i++){
    for(int j=1;j<8;j++){
     System.out.print("i="+i+" j="+j+" ");
     if((i+j)>8){
      System.out.println("结束!");
      break;
     }
     System.out.println("执行!");
    }
   }
}

// continue 终止当前循环,但不跳出循环(遇到continue,下面语句不执行)
public void testContinue(){
   for(int i=0;i<6;i++){
    for(int j=1;j<8;j++){
     System.out.print("i="+i+" j="+j+" ");
     if((i+j)>8){
      System.out.println("结束!");
      continue;
     }
     System.out.println("执行!");
    }
   }
}

public static void main(String[] args) {
   Demo demo=new Demo();
   //demo.testBreak();
   demo.testContinue();
}
}

return   ---  跳出当前方法

重点:返回值为void的方法,从某个判断中跳出,必须用return;

示例:

public static void Demo(int i) {
  if (i == 1) {
   System.out.println("跳出!");
   return;
  }
  i++;
  System.out.println("i=" + i);
}

回复 使用道具 举报
王涛 黑马帝 2012-2-21 11:58:19
7#
使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。例如 如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。

  而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。continue 用于跳过循环体中的一部分语句,也就是不执行这部分语句

  return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句。
回复 使用道具 举报
continue是不执行continue下面的语句,但是它仍执行continue上面的循环语句,而break跳出循环语句,但如果是嵌套循环它只跳出它自己当前的循环,return 表示从被调函数返回到主调函数继续执行。
回复 使用道具 举报
continue跳过以下语句继续下次循环,循环还在继续;break则结束本次循环,跳出当前循环,如果只有这一层循环,则循环结束;return更直接,直接跳出整个函数,返回你要的值,有多少层循环都一样结束。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马