关于break,continue,goto,return语句区别详解(所有语言通用的语法知识)

一、break

1. break语句形式: break;

2. break语句功能:

A. switch语句中,break语句会终止其后语句的执行,退出switch语句。

B. 使一个循环立即结束,也就是说在循环中遇到break语句时,循环立即终止,程序转到循环体后的第一个语句去继续执行。

3. 注:

A. break语句在循环中使用时,总是与if一起使用,当条件满足(或不满足)时,负责退出循环。

B. 如果循环体中使用switch语句,而break出现在switch语句中,则它只用于结束switch,而不影响循环。

C. break语句只能结束包含它的最内层循环,而不能跳了多重循环。

4. 例: break语句的执行只能从while循环中退出,继续执行for循环的其它语句而不是退出外层循环。

for()

{

:

:

while()

{

:

:

if() break;

:

:

}

:

:

}

二、continue  

1.continue语句形式: continue;

2.continue语句功能:   它只能出现在循环体中,其功能是立即结束本次循环,即遇到continue语句时,不执行循环体中continue后的语句,立即转去判断循环条件是否成立。

3.Continue与break语句的区别: continue只是结束本次循环,而不是终止整个循环语句的执行,break则是终止整个循环语句的执行,转到循环语句后的下一条语句去执行。

程序表达式及流程图如下:

(1.) while(表达式1)          (2.)while(表达式1)

{                                    {

:                                   :

If(表达式2) break;                  if(表达式2) continue;

:                                    :

}                                    }

三、goto

1.goto语句形式:goto语句是无条件转向语句,其一般形式为:goto 语句标号;

2.功能:goto语句往往用来从多重循环中跳出。它在解决一些特定问题时很方便,但由于goto语句难于控制,尽量少用。

3.例:

IN:

For()

{

:

:

Goto IN;

}

四、Return

1.return语句形式: return (返回值);

2.功能:return可以返回一个函数的值,并且跳出这个函数;

Void doSomething(){

do whatever is required by thismethod …

return;

}

只要遇到return语句,程序就在那一行代码停止执行,执行控制将立刻返回到调用该程序的代码处。

对于返回值类型为void的程序,return关键字单独作为完整的语句使用:return;

1. 对于返回类型为void的程序,return;语句是可选的。如果省略这条语句,隐含表明程序的最后一行有一个return;语句。即,下面两个版本的doSomething程序是等价的:

void doSomething(){

int x=3;

int y=4;

int x=x+y;

}

void doSomething(){

int x=3;

int y=4;

int x=x+y;

return;

}

2. 对于返回类型非void的程序体,必须至少包括一条明确的return语句。这种情况下,return关键字后面必须跟随一个求值类型和程序声明的返回类型一致的表达式。例如,如果程序定义为具有int返回类型,那么下列任何一种return语句都可以接受:

return 0; //returning a constantinteger value

return x; //returning the value ofx(assuming that x has previously been declared to be an int)

return x+y; //returning the value ofthe expression”x+y”(here,we`re assuming that “x+y” evaluates to an intvalue)

return (int)z; //casting the value ofz(assume z was declared as a double to an int value)

3. 如果程序定义为具有boolean返回类型,那么下列任何一种return语句都可以接受:

return false;   //returning a Boolean constant value

return outcome; //returning the valueof variable outcome (assuming that outcome has previously been declared to beof type Boolean)

return(x<3);    //returning the Boolean value that resultswhen the value of x is compared to 3: if x if less than 3, this method returnsa value of true; otherwise, it returns false.

程序体可以包含不只一条return语句。但好的编程习惯是一个程序中只在最末尾包含一条return语句。再看一下前面讨论过的isHornorsStudent程序,这个程序有两条return语句:

boolean isHonorsStudent(){

if(gpa>=3.5) returntrue; //first return statement

else return false;//second return statement

}

使用局部boolean型变量result来重写这个程序,该变量捕获最终返回的true/false结果。在程序最末尾用一条return语句返回result变量的值:

boolean isHonorsStudent(){

boolean result =false;

if(gpa>=3.5)result = true;

else result = false;

return result;

}

如上述代码所示,由于已经给result变量赋予初值false,因此在else子句中明确地给它赋值false是不必要的,可以像下面这样简化isHornorsStudent程序:

boolean isHonorsStudent(){

boolean result = false;

if(gpa>=3.5) result = true;

return result;

}

        但是有一种情况下多个return语句是可以接受的:程序需要执行一系列操作,在这个过程中,任何一步失败意味着整个程序失败。下面的伪代码阐明了这种情况:

function cs(n){

if(n==1) { retrun 1; }

if(n==2) { return; }

else { }

}

说明:   当参数为1时函数返回值为1并且跳出函数,

当参数为2时函数返回值为空并且跳出函数,

当函数为其他值时继续执行函数下面的语句,直到遇到下个return或则全部执行完语句在跳出函数

break, continue, goto, return语句详解相关推荐

  1. finally语句与return语句详解

    文章目录 1.return语句执行顺序 1.1finally语句是在return语句执行之后,return语句返回之前执行的 2.覆盖问题 2.1finally块中的return语句会覆盖try块的r ...

  2. 6.4_[Java 数组]-详解 break/continue 跳转语句

    ################################################## 目录 详解 break/continue 跳转语句 b/c 跳转语句对二重循环的影响 break ...

  3. Java教程:Java continue语句详解

    Java教程有时强迫一个循环提早反复是有用的,也就是,你可能想要继续运行循环,但是要忽略这次重复剩余的循环体的语句,所以 Java 提供了 continue 语句.continue 语句是 break ...

  4. Java continue语句详解

    有时强迫一个循环提早反复是有用的,也就是,你可能想要继续运行循环,但是要忽略这次重复剩余的循环体的语句,所以 Java 提供了 continue 语句.continue 语句是 break 语句的补充 ...

  5. 从零学Java(25)之 break语句详解

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  6. c语言输入循环语句,C语言中输入输出和循环语句详解.ppt

    C语言中输入输出和循环语句详解 C语言的输入输和循环分支语句详解 本章主要向大家介绍下C语言的输入和输出功能以及循环分支语句的使用 第4章 顺序结构程序设计 3.1 C语言语句 3.2 赋值语句 3. ...

  7. 教妹学Java(十四):switch 语句详解

    大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.本篇文章通过我和三妹对话的形式来谈一谈"switch 语句". 教妹学 Java,没见过这么有趣的标题吧?&q ...

  8. python中循环语句只有for和while两种_Python循环语句之while,for语句详解

    下面为大家分享一篇Python 循环语句之 while,for语句详解,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 Python中有两种循环,分别为:for循环和while循环. for循 ...

  9. 21-break、continue、return语句理解

    21-break.continue.return语句理解 break 语句用于跳出循环. continue 用于跳过循环中的一个迭代. return 语句会终止函数的执行并返回函数的值(如果有返回值的 ...

最新文章

  1. ubuntu下编译php扩展的时候报缺少pcre解决办法
  2. Javascript 中 null、NaN和undefined的区别
  3. 为什么局部内部类和匿名内部类只能访问 final 的局部变量?
  4. [云炬创业基础笔记]第五章创业机会评估测试4
  5. C# Directory.Exists() 文件存在但返回一直为false
  6. 安装VS 2008 EXPRESS出现无法读取deffactory.dat错误
  7. 初识Hibernate 缓存
  8. 崩管嵌入式还是单片机,盘就完事了
  9. JS实现前端动态分页码
  10. iphone4 通讯录数据库文件!
  11. Javashop连锁门店管理系统带您玩转获客
  12. 关于matlab影像处理imhist直方图均衡化问题
  13. Oracle9i学习之boobooke小布版001
  14. nvme装系统不能自引导_电脑安装了NVME SSD固态硬盘无法进入系统该怎么办?
  15. 什么叫死区时间_关于pwm死区时间的介绍
  16. 计算CP、CR、CF1、OP、OR、OF1和mAP的top-3评价指标
  17. UA OPTI501 电磁波 求解麦克斯韦方程组的Fourier方法2 麦克斯韦方程组的解
  18. O2O为什么烧钱 国内有哪些平台是O2O模式?
  19. 《2021-2022全球计算力指数评估报告》发布
  20. 2023版最新最全React面试题

热门文章

  1. 小型的ESP8266-01s WiFi串口模块是否可以下载MicroPython?
  2. reactnative 获取定位_react native 获取地理位置的方法示例
  3. 泊松分布的分布函数_第114讲 SAS泊松分布与泊松回归
  4. php5.6 64位配置,centos(64位) 安装PHP5.6,配置LNMP
  5. 文字转语音引擎未就绪_5个文字转语音网站,其中最强堪比真人发音
  6. python网页模板_python-找不到HTML模板
  7. php lang无效,详解 Go 中的不可变类型
  8. css 字体大小_用一个 CSS 属性打造自适应网站
  9. confirm弹窗确定按钮换文字_弹窗设计的5条基本原则(转载)
  10. java后门_@Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码...