`
long_yu2
  • 浏览: 334531 次
社区版块
存档分类
最新评论

java break,continue,return 使用。【借鉴与改编】

 
阅读更多

使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。
在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。


例如 如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。


在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。


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


  return语句用来明确地从一个方法返回。
也就是,return 语句使程序控制返回到调用它方法。
因此,将它分类为跳转语句。


尽管对return 语句详细讨论在第 7 章开始,这里对其作简要地介绍。
在一个方法任何时间,return 语句可被用来使正在执行分支程序返回到调用它方法。
下面例子说明这一点。下例中,由于是Java 运行系统调用main() ,因此,return语句使程序执行返回到Java 运行系统。


break

第(1)种


该程序产生如下输出:
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语句终止程序。也就是 for语句 后面的不执行了。。。
break语句能用于任何 Java 循环中,包括人们有意设置无限循环。






第(2)种
例如,将上一个程序用while 循环改写如下。该程序输出和刚才看到输出一样。


该程序产生如下输出:
i: 0 i: 1 i: 2 i: 3 i: 4 i: 5 i: 6 i: 7 i: 8 i: 9 Loop complete.




第(3)种:


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 语句带来麻烦。






第(4)种:


标签break 语句通用格式如下所示: break label; 这里,标签label 是标识代码块标签。
当这种形式break执行时,控制被传递出指定代码块。被加标签代码块必须包围break 语句,但是它不需要是直接包围break块。


这意味着你可以使用一个加标签break 语句退出一系列嵌套块。
但是你不能使用break 语句将控制传递到不包含break 语句代码块。


要指定一个代码块,在其开头加一个标签即可。标签(label )可以是任何合法有效Java 标识符后跟一个冒号。
一旦你给一个块加上标签后,你就可以使用这个标签作为break 语句对象。这样做会使执行在加标签块结尾重新开始。


例如,下面程序示例 3 个嵌套块,每一个都有它自己标签。
break语句使执行向前跳,调过定义为标签second 代码块结尾,跳过2个println ( ) 语句。


运行该程序,产生如下输出: Before the break. This is after second block. 标签break 语句一个最普遍用法是退出循环嵌套。








第(5)种:


例如,下面程序中,外层循环只执行一次:


该程序产生如下输出: Pass 0: 0 1 2 3 4 5 6 7 8 9 Loops complete.
只循环了一次。。。
你可以看到,当内部循环退到外部循环时,两个循环都被终止。






第(6)种:


记住如果一个标签不在包围break块中定义,你就不能break 到该标签。
例如,下面程序就是非法,且不会被编译:
class BreakErr {
public static void main(String args[]) {
one: for (int i = 0; i < 3; i++) {
System.out.print("Pass " + i + ": ");
}
for (int j = 0; j < 100; j++) {
if (j == 10)
break one; // WRONG
System.out.print(j + " ");
}
}
}
因为标签为one循环没有包围break 语句,所以不能将控制传递到该块。


continue
它的作用就是在循环中继续循环,而不执行本次循环后的语句。


2 使用continue 语句有时强迫一个循环提早反复是有用。
也就是,你可能想要继续运行循环,但是要忽略这次重复剩余循环体语句。
实际上,goto 只不过是跳过循环体,到达循环尾部。
continue 语句是break语句补充。
在while 和do while 循环中,continue 语句使控制直接转移给控制循环条件表达式,然后继续循环过程。


在for 循环中,循环反复表达式被求值,然后执行条件表达式,循环继续执行。对于这3种循环,任何中间代码将被旁路。
下例使用continue 语句,使每行打印2个数字:


class Continue {
public static void main(String args[]) {
for (int i = 0; i < 10; i++) {
System.out.print(i + " ");
if (i % 2 == 0)
continue;
System.out.println("");
}
}
}
打印结果:
0 1
2 3
4 5
6 7
8 9


对于break语句,continue 可以指定一个标签 来说明继续哪个包围循环。



0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81


很好利用continue 语句情况很少,一个原因是Java 提供一系列丰富循环语句,可以适用于绝大多数应用程序。
但是,对于那些需要提早反复特殊情形,continue 语句提供一个结构化方法来实现。






3 使用return语句最后一个控制语句是return。


return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。
因此,将它分类为跳转语句。
尽管对return 语句详细讨论在第 7 章开始,这里对其作简要地介绍。
在一个方法任何时间,return 语句可被用来使正在执行分支程序返回到调用它方法。

下面例子说明这一点。
下例中,由于是Java 运行系统调用main() ,因此,return语句使程序执行返回到Java 运行系统。



该程序结果如下: Before the return.

正如你看到一样,最后println( ) 语句没有被执行。
一旦return语句被执行,程序控制传递到它调用者。 最后一点:在上面程序中,if(t)语句是必要。


没有它,Java 编译器将标记“执行不到代码”(unreachable code )错误,因为编译器知道最后println ()语句将永远不会被执行。
为阻止这个错误,为这个例子能够执行,在这里使用if语句来“蒙骗”编译器。

分享到:
评论
1 楼 flyfx 2012-06-29  
   谢谢谢谢

相关推荐

    java跳出循环break;return;continue使用

    java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用

    Java break和continue语句的使用

    在Java编程语言中,`break`和`continue`是两种控制流程的语句,它们用于在循环结构(如`for`、`while`或`do-while`)中改变程序的执行顺序。这两个关键字虽然简单,但在实际编程中却有着重要的作用。 **一、Java ...

    菜鸟理解java中break,continue,return区别

    ### Java中的break、continue与return语句详解 在Java编程语言中,`break`、`continue`和`return`是三种常用的流程控制语句。它们分别用于不同的场景,以达到控制程序执行流程的目的。下面我们将深入探讨这三种语句...

    Java程序设计基础:break与continue语句.pptx

    了解break与continue语句的使用场合 2 能够使用break和continue控制程序 两种跳转语句: break与continue语句 含义: break continue break 语句:用于终止块。 continue 语句:结束本次循环,继续执行循环。 while...

    Java中break、continue、return语句的使用区别对比

    在Java编程语言中,`break`、`continue`和`return`是三个非常关键的控制流语句,它们各自有着不同的功能和应用场景。理解和熟练掌握这些语句的使用,能够帮助我们编写出更加高效和易读的代码。下面将详细阐述这三种...

    Java中break、continue、return在for循环中的使用

    Java中break、continue、return在for循环中的使用 Java是一种流行的编程语言,它的循环控制语句在编程中扮演着非常重要的角色。在Java中,break、continue、return是三种常用的循环控制语句,它们在for循环中的...

    break,continue,goto,return语句详解

    对break continue goto return语句都有详细讲解! 值得收藏

    javascript中break,continue和return语句用法小结

    在JavaScript编程中,`break`、`continue` 和 `return` 是三种控制流程的关键语句,它们各自有着独特的用途,帮助程序员更灵活地控制程序的执行流程。以下是对这三种语句的详细说明: 1. **`break` 语句** - `...

    Java中的break和continue关键字使用总结共3

    虽然标签`return可以结束本次循环`没有直接与`break`或`continue`关联,但值得一提的是,`return`关键字在方法中使用时,除了返回一个值外,还会立即终止该方法的执行。与`break`类似,它也可以在循环中使用,用于...

    Powershell的break、continue和return简单总结

    在Powershell中有两个特殊的关键字,就是你使用在循环中的break和continue. 看下这个“continue”,循环中的... 您可能感兴趣的文章:Java中break、continue、return语句的使用区别对比Jquery的each里用return true或fa

    break_continue_goto_return语句

    Break、Continue、Goto、Return 语句详解 Break 语句是控制结构语句中的一种,用于终止当前的循环或 switch 语句。Break 语句的形式为:break;Break 语句的功能有两个方面:一是在 switch 语句中,Break 语句会...

    break和continue的区别

    在Java编程语言中,`break` 和 `continue` 关键字是控制循环流程的重要工具,它们在循环结构中起着不同的作用,帮助程序员更灵活地控制程序的执行路径。 `break` 关键字的主要功能是立即中断最内层的循环,使程序跳...

    break和continue的应用举例

    通过求圆的面积来演示break和continue的作用,是这两个的功能更加明确

    计算机后端-Java-Java核心基础-第06章 Java基本语法4 14. break和continue的基本使用.avi

    计算机后端-Java-Java核心基础-第06章 Java基本语法4 14. break和continue的基本使用.avi

    Java中continue在while循环中的应用.pdf

    在更复杂的逻辑中,`continue`语句常与`if`、`else`等条件语句结合使用,以实现更加灵活的控制流程。例如,你可以根据不同的条件选择执行`continue`、执行其他代码或直接退出循环(使用`break`语句)。 总之,`...

    java中break和continue源码解析

    Java中的`break`和`continue`关键字是控制循环流程的重要工具,它们可以帮助程序员根据特定条件改变循环的执行路径。在深入源码之前,先来理解这两个关键字的基本概念和用途。 `break`关键字: `break`的主要作用是...

    break、continue、return、goto(C_).doc

    ### break、continue、return、goto 语句详解 #### 一、break 语句 **1. 语句形式:** ``` break; ``` **2. 语句功能:** - **在 switch 语句中:** - `break` 是 `switch` 语句的一部分,用于终止当前 `case` ...

    计算机后端-Java-Java核心基础-第06章 Java基本语法4 15. 带标签的break和continue的使用.avi

    计算机后端-Java-Java核心基础-第06章 Java基本语法4 15. 带标签的break和continue的使

    Java编码最佳实践之-避免使用continue.doc

    Java编码最佳实践中,避免使用`continue`语句是一项重要的指导原则。`continue`语句在循环中用于跳过当前迭代的剩余部分,直接进入下一次迭代。然而,这种语句在某些情况下可能导致代码可读性降低,且可能对程序执行...

    break和continue区别详解

    该文档综合了很多网上关于break和continue的讲解,包含例程,十分详细。该文档综合了很多网上关于break和continue的讲解,包含例程,十分详细。

Global site tag (gtag.js) - Google Analytics