java中break用法

  • 格式:docx
  • 大小:17.69 KB
  • 文档页数:5

1、return 语句的作用(1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行(2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致(3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。

2、break语句的作用(1) 只能在循环体内和switch语句体内使用break语句。

(2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。

(3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。

(4) 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环3、continue语句作用(1) continue语句continue语句的一般形式为:contonue;(2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。

(3) 注意:执行continue语句并没有使整个循环终止。

在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定循环是否继续进行。

(4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,最后根据“表达式2”的值来决定for循环是否执行。

在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同class Test{public static void main(String[] args){testBreak();testContinue();testReturn();}static void testBreak(){for(int i=0;i<10;i++){if(i%2==0){"i="+i);}else{"执行了break语句,跳出当前循环!");break;}}}static void testContinue(){for(int i=0;i<10;i++){if(i%2==0){"没有执行continue语句输出i="+i);}else{"执行了Continue语句,跳出当前循环!");continue;}}}static void testReturn(){for(int i=0;i<10;i++){"执行了return语句,直接跳出了当前的testReturn方法!");return;}}}运行结果:i=0执行了break语句,跳出当前循环!没有执行continue语句输出i=0执行了Continue语句,跳出当前循环!没有执行continue语句输出i=2执行了Continue语句,跳出当前循环!没有执行continue语句输出i=4执行了Continue语句,跳出当前循环!没有执行continue语句输出i=6执行了Continue语句,跳出当前循环!没有执行continue语句输出i=8执行了Continue语句,跳出当前循环!执行了return语句,直接跳出了当前的testReturn方法!详细分析三个语句的用法:使用break 语句在Java 中,break语句有3种作用。

第一,你已经看到,在switch语句中,它被用来终止一个语句序列。

第二,它能被用来退出一个循环。

第三,它能作为一种“先进”goto 语句来使用。

下面对最后 2种用法进行解释。

使用break 退出循环可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。

在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。

下面是一个简单例子:// Using break to exit a loop.class BreakLoop { public static void main(String args[]) { for(int i=0; i<100; i++) { if(i == 10) break; // terminate loop if i is 10 "i: " + i); } "Loop complete."); } }该程序产生如下输出:i: 0 i: 1 i: 2 i: 3 i: 4 i: 5 i: 6 i: 7 i: 8 i: 9 Loop complete.正如你看到那样,尽管for 循环被设计为从 0执行到99,但是当i等于10时,break语句终止程序。

break语句能用于任何 Java 循环中,包括人们有意设置无限循环。

例如,将上一个程序用while 循环改写如下。

该程序输出和刚才看到输出一样。

// Using break to exit a while loop. class BreakLoop2 { public static void main(String args[]) { int i = 0; while(i < 100) { if(i == 10) break; // terminate loop if i is 10 "i: " + i); i++; } "Loop complete."); } }在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。

例如:// Using break with nested loops. class BreakLoop3 { public static voidmain(String args[]) { for(int i=0; i<3; i++) { "Pass " + i + ": "); for(int j=0; j<100; j++) { if(j == 10) break; // terminate loop if j is 10 + " "); } ; } "Loops complete."); } }该程序产生如下输出:Pass 0: 0 1 2 3 4 5 6 7 8 9 Pass 1: 0 1 2 3 4 5 6 7 8 9 Pass 2: 0 1 2 3 4 5 6 7 8 9 Loops complete. 从中可以看出,在内部循环中break语句仅仅终止该循环,外部循环不受影响。

break ,在这里要记住两点。

首先,一个循环中可以有一个以上break 语句。

但要小心,太多break 语句会破坏你代码结构。

其次,switch语句中break仅仅影响该switch语句,而不会影响其中任何循环。

注意:break 不是被设计来提供一种正常循环终止方法。

循环条件语句是专门用来终止循环。

只有在某类特殊情况下,才用break 语句来取消一个循环。

把break 当作goto 一种形式来用 break语句除在switch语句和循环中使用之外,它还能作为goto 语句一种“文明”形式来使用。

Java 中没有 goto 语句,因为goto 语句提供一种改变程序运行流程非结构化方式。

这通常使程序难以理解和难于维护。

它也阻止某些编译器优化。

但是,有些地方goto 语句对于构造流程控制是有用而且是合法。

例如,从嵌套很深循环中退出时, goto 语句就很有帮助。

因此,Java 定义break语句一种扩展形式来处理这种情况。

通过使用这种形式break,你可以终止一个或者几个代码块。

这些代码块不必是一个循环或一个switch语句一部分,它们可以是任何块。

而且,由于这种形式break 语句带有标签,你可以明确指定执行从何处重新开始。

你将看到,break带给你是goto 益处,并舍弃goto 语句带来麻烦。

标签break 语句通用格式如下所示: break label; 这里,标签label 是标识代码块标签。

当这种形式break执行时,控制被传递出指定代码块。

被加标签代码块必须包围break 语句,但是它不需要是直接包围break块。

这意味着你可以使用一个加标签break语句退出一系列嵌套块。

但是你不能使用break 语句将控制传递到不包含break 语句代码块。

要指定一个代码块,在其开头加一个标签即可。

标签(label )可以是任何合法有效Java 标识符后跟一个冒号。

一旦你给一个块加上标签后,你就可以使用这个标签作为break 语句对象。

这样做会使执行在加标签块结尾重新开始。

例如,下面程序示例 3 个嵌套块,每一个都有它自己标签。

break语句使执行向前跳,调过定义为标签second 代码块结尾,跳过2个println ( ) 语句。

// Using break as a civilized form of goto. class Break { public static void main(String args[]) { boolean t = true; first: { second: { third: {"Before the break.");if(t) break second; // break out of second "This won't execute"); } "This won't execute");}"This is after second block."); } } } 运行该程序,产生如下输出: Before the break. This is after second block. 标签break 语句一个最普遍用法是退出循环嵌套。

例如,下面程序中,外层循环只执行一次: // Using break to exit from nested loops class BreakLoop4 { public static voidmain(String args[]) { outer: for(int i=0; i<3; i++) { "Pass " + i + ": ");for(int j=0; j<100; j++) { if(j == 10) break outer; // exit both loops + " "); } "This will not print"); } "Loops complete."); } }该程序产生如下输出: Pass 0: 0 1 2 3 4 5 6 7 8 9 Loops complete. 你可以看到,当内部循环退到外部循环时,两个循环都被终止。