c#中break,continue,return,,goto,throw的区别

c#中break,continue,return,,goto,throw的区别
c#中break,continue,return,,goto,throw的区别

c#中break,continue,return,,goto,throw的区别(摘抄)

2010-08-18 16:17

break 语句用于终止最近的封闭循环或它所在的switch 语句。

控制传递给终止语句后面的语句(如果有的话)。

continue 语句将控制权传递给它所在的封闭迭代语句的下一次迭代。

goto 语句将程序控制直接传递给标记语句。

goto 的一个通常用法是将控制传递给

特定的switch-case 标签

或switch 语句中的默认标签。

goto 语句还用于跳出深嵌套循环。

return 语句终止它出现在其中的方法的执行并将控制返回给调用方法。

它还可以返回一个可选值。

如果方法为void 类型,则可以省略return 语句。

throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。

通常throw 语句与try-catch 或try-finally 语句一起使用。

当引发异常时,程序查找处理此异常的catch 语句。

也可以用throw 语句重新引发已捕获的异常。

-------------------------------------------------------------

----------

break 示例

----------

在此例中,条件语句包含一个应该从 1 计数到100 的计数器;

但break 语句在计数达到 4 后终止循环。

// statements_break.cs

using System;

class BreakTest

{

static void Main()

{

for (int i = 1; i <= 100; i++)

{

if (i == 5)

{

break;

}

Console.WriteLine(i);

}

}

}

输出

1

2

3

4

--------------

continue 示例

--------------

在此示例中,计数器最初是从 1 到10 进行计数,

但通过将continue 语句与表达式(i < 9) 一起使用,

跳过了continue 与for 循环体末尾之间的语句。

// statements_continue.cs

using System;

class ContinueTest

{

static void Main()

{

for (int i = 1; i <= 10; i++)

{

if (i < 9)

{

continue;

}

Console.WriteLine(i);

}

}

}

输出

9

10

----------

goto 示例1

----------

下面的示例演示了goto 在switch 语句中的使用。

// statements_goto_switch.cs

using System;

class SwitchTest

{

static void Main()

{

Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");

Console.Write("Please enter your selection: ");

string s = Console.ReadLine();

int n = int.Parse(s);

int cost = 0;

switch (n)

{

case 1:

cost += 25;

break;

case 2:

cost += 25;

goto case 1;

case 3:

cost += 50;

goto case 1;

default:

Console.WriteLine("Invalid selection.");

break;

}

if (cost != 0)

{

Console.WriteLine("Please insert {0} cents.", cost);

}

Console.WriteLine("Thank you for your business.");

}

}

输入

2

示例输出

Coffee sizes: 1=Small 2=Medium 3=Large

Please enter your selection: 2

Please insert 50 cents.

Thank you for your business.

----------

goto 示例2

----------

下面的示例演示了使用goto 跳出嵌套循环。

// statements_goto.cs

// Nested search loops

using System;

public class GotoTest1

{

static void Main()

{

int x = 200, y = 4;

int count = 0;

string[,] array = new string[x, y];

// Initialize the array:

for (int i = 0; i < x; i++)

for (int j = 0; j < y; j++)

array[i, j] = (++count).ToString();

// Read input:

Console.Write("Enter the number to search for: ");

// Input a string:

string myNumber = Console.ReadLine();

// Search:

for (int i = 0; i < x; i++)

{

for (int j = 0; j < y; j++)

{

if (array[i, j].Equals(myNumber))

{

goto Found;

}

}

}

Console.WriteLine("The number {0} was not found.", myNumber);

goto Finish;

Found:

Console.WriteLine("The number {0} is found.", myNumber);

Finish:

Console.WriteLine("End of search.");

}

}

输入

44

示例输出

Enter the number to search for: 44

The number 44 is found.

End of search.

----------

throw 示例

----------

此例演示如何使用throw 语句引发异常。

// throw example

using System;

public class ThrowTest

{

static void Main()

{

string s = null;

if (s == null)

{

throw new ArgumentNullException();

}

Console.Write("The string s is null"); // not executed }

}

return的用法和短语例句是什么意思

return的用法和短语例句是什么意思 return有返回;归还;回报;回应;申报等意思,那么你知道return 的用法吗?下面跟着一起来学习return的用法和短语例句吧,希望对大家的学习有所帮助! return的用法1:return的基本意思是“回到原来的位置或状态”,可指人、物回到某处,也可指某人把某物送还,归还给某人,还可指病痛、情绪等的复发、状态的恢复、季节的再次来临等。 return的用法2:return的现在进行时可表示按计划或安排将要发生的动作,此时须有表示将来的时间状语或特定的上下文。 return的用法3:return用作及物动词时,可接名词、代词或that 从句作宾语,还可接双宾语,其间接宾语可转化为介词to的宾语。 return的用法4:return还可用作系动词,意思是“恢复”“回来”,后可接名词或形容词作表语。 return的用法5:return是瞬间动词,不能与表示一段时间的状语连用。 return的用法6:return用作名词的基本意思是“返回,回来,恢复”,指重新回到或返回原来的位置或状态,可用作可数名词,也可用作不可数名数。引申还可作“归还”“回报”解,是不可数名词。 return的用法7:return还可作“利润”“收益”解,是可数名词。 return的常用短语用作动词(v.)

return for (v.+prep.) return from (v.+prep.) return to (v.+prep.) return with (v.+prep.) 用作名词(n.) by return in return (for) on one's return return to to return return的用法例句1. I will return, find you, love you, marry you and live without shame. 我会回去,找到你,爱你,娶你,活的光明正大。《赎罪》 2. Ellery's return will help to chase away some of the gloom. 埃勒里的归来可以驱散一些抑郁的情绪。 3. Return the enclosed Donation Form today in the prepaid envelope provided. 请于今日将随函附上的捐款表格用所提供的邮资预付的信封寄回。 4. Ford never desisted from trying to persuade him to return to America.

c语言if后面return的用法详细解析

c语言if后面return的用法详细解析 return是C++预定义的语句,它提供了种植函数执行的一种放大。今天在这里为大家介绍c语言if后面return的用法,欢迎大家阅读! 在C89 中,main( ) 是可以接受的。Brian W. Kernighan 和Dennis M. Ritchie 的经典巨著The C programming Language 2e(《C 程序设计语言第二版》)用的就是main( )。不过在最新的C99 标准中,只有以下两种定义方式是正确的: int main( void ) int main( int argc, char *argv[] ) (参考资料:ISO/IEC 9899:1999 (E) Programming languages - C 5.1.2.2.1 Program startup) 当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成char **argv;argv 和argc 可以改成别的变量名(如intval 和charval),不过一定要符合变量的命名规则。 如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。 main 函数的返回值类型必须是int ,这样返回值才能传递给程序的激活者(如操作系统)。 如果main 函数的最后没有写return 语句的话,C99 规定编

译器要自动在生成的目标文件中(如exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为vc6 是98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return 语句了吧!不过,gcc3.2(Linux 下的C 编译器)会在生成的目标文件中加入return 0; 。 c语言if后面return的用法:C++C++98 中定义了如下两种main 函数的定义方式: int main( ) int main( int argc, char *argv[] ) (参考资料:ISO/IEC 14882(1998-9-01)Programming languages - C++ 3.6 Start and termination) int main( ) 等同于C99 中的int main( void ) ;int main( int argc, char *argv[] ) 的用法也和C99 中定义的一样。同样,main 函数的返回值类型也必须是int。如果main函数的末尾没写return 语句,C++98 规定编译器要自动在生成的目标文件中加入return 0; 。同样,vc6 也不支持这个特性,但是g++3.2(Linux 下的C++ 编译器)支持。 c语言if后面return的用法:关于void main在C 和C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程

Java中return的用法

一般的就是用在有反回值的方法中,用来返回方法指定类型的值,同时结束方法执行;也可以用在返回值为void的方法中,用来终止方法运行; 如: public void f(){ for(int i=0;;i++){ if(i==3){ return; }else{ System.out.println(i); } } } 功能: 1. 返回方法制定类型的值 2. 结束方法的执行(仅仅一个"return;”) 下面通过一个简单的例子说明下(网络上的例子,自己感觉看了听明白): /* return方法总结 */ public class TestReturn { public static void main(String args[]) { TestReturn t = new TestReturn(); t.test1(); t.test2(); } /** * 无返回值类型的return语句测试 */ public void test1() { System.out.println("---------无返回值类型的return语句测试--------"); for (int i = 1; ; i++) { if (i == 4) return; System.out.println("i = " + i); } } /** * 有返回值类型的return语句测试 * @return String */ public String test2(){

System.out.println("---------有返回值类型的return语句测试--------"); return "返回一个字符串"; } } 运行结果: ---------无返回值类型的return语句测试-------- i = 1 i = 2 i = 3 ---------有返回值类型的return语句测试------- 返回一个字符串

for循环的简介及break和continue的区别

for循环的简介及break和continue的区别 1.for循环 for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环、do-while循环。 for循环的格式为: for( 初始语句 ; 执行条件 ; 增量) { 循环体 } 执行顺序:1、初始语句2、执行条件是否符合?3、循环体4、增加增量 初始化语句只在循环开始前执行一次,每次执行循环体时要先判断是否符合条件,如果循环条件还会true,则执行循环体,在执行迭代语句。 所以对于for循环,循环条件总比循环体多执行一次。 注意:for循环的循环体和迭代语句不在一起(while和do-while是在一起的)所以如果使用continue来结束本次循 环,迭代语句还有继续运行,而while和do-while的迭代部分是不运行的。 来个例子:输入一个数n(n>1),输出n!的值。n!(n的阶层)=1*2*3*……*n #include void main() { long num=1; int n,i; printf("请输入n:");

scanf("%d",&n); for(i=1;i<=n;i++) num=num*i; printf("%d的阶层是%d\n",n,num); } 2.break和continue的区别和作用 break和continue都是用来控制循环结构的,主要是停止循环。 1.break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。 这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。 2.continue continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。 可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。 例子: #include void main() { int sum,i; sum=0; for(i=1;i<=100;i++) { sum=sum+i; if(i==2) {

finally语句块与return的执行关系

这是一道Java面试题:try{ }里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?(如果try后面有个catch块,里面有return语句,那么finally语句会不会执行?) finally语句块的作用就是为了保证无论出现什么情况,一定要执行的,那么finally里的code 肯定会执行,并且是在return前执行。(只要语句执行了,肯定是在return前执行的。finally 中也可以有return,并且会覆盖其他的return) 根据java规范:在try-catch-finally中,如果try-finally或者catch-finally 中都有return,则两个return语句都执行并且最终返回到调用者那里的是finally中return的值;而如果finally中没有return,则理所当然的返回的是try或者catch中return的值,但是finally中的代码是必须要执行的,方法在return的时候并不是把它所拥有的那个值给返回了,而是复制一份返回!因此,对于基本类型的数据,在finally中改变return的值对返回值没有任何影响,而对于引用类型的数据,就有影响。(JAVA中基本类型变量存储在___中,引用类型的对象存储在____中,对象的引用地址存储在____中。 A. 堆 B. 栈 C. 寄存器 D. 静态存储区 BBA 基本类型和对象的引用都放在栈中,new出的对象和数组放在堆中 ) public class FinallyTest { public static void main(String[] args) { System.out.println("x的值是"+new FinallyTest().test());; } @SuppressWarnings("finally") static int test() { int x = 1; try { //x++; return x; } finally { ++x; System.out.println("x的值当前值是" +x);

02-break与continue语句

break与continue语句 break的功能 在语句中结束子句, ?在switch语句中结束case子句, 使控制转到switch语句之外。 ?在循环体中使用,结束当前循环 过程,使控制转移到循环语句之 过程使控制转移到循环语句之 外的下一条语句处。

break语句的执行流程: 1 while语句for语句do-while语句 表达式2? 成立不成立 执行表达式 表达式? 成立不成立 break break break 执行表达式3表达式? 成立不成立 执行后续语句 执行后续语句执行后续语句

循环中断与继续循环 ?break再讨论 例两处需要中断 例: 找出最大素数输入n,输出1到n之内的最 两处需要中断:1、外循环时找到了 2内循环中当前数废除了大素数 问题分析: 2、内循环中当前数废除了 n =1, 2, 3, 4, 5, 6, 7, 8, 9 数据域i =1, 2, 3, 4, 5, 6, 7 查找域

循环中断与继续循环例main() { int n, i, a=1; scanf("%d",&n);例:找出最大素数scanf(%d ,&n); for( ;n>1;n--) { for(i=2;i

TRY里面有RETURN语句

java中异常处理中return的用法关于try、catch、finally语句块中含有return语句的几点说明: 1、第一种情况:try块有return语句,catch块没有return,函数末尾也没有return: 看代码: import java.util.*; public class demo{ public static void main(string args[]){ int num = 10; test(num); } public static int test(int b){ try{ b += 10; return b; }catch(exception e){ }finally{ } } } 编译结果: h:\java demo>javac demo.java demo.java:18: 缺少返回语句 } ^ 1 错误 有人可能会说,我在try块中不是有return语句吗?为什么会提示缺少return语句呢?这是因为编译器认为try块中是又可能产生异常操作 的,也就是说在return语句之前如果出现异常的话,那么return语句根本没有机会得到执行,所以编译器会认为缺少return语句。 解决办法:a、在catch块中加入return语句,因为一旦出现异常,catch中的语句可以保证函数会有一个返回值 b、在finally块中加入return语句,同样只要系统不退出,finally语句块会始终得到执行的 代码: import java.util.*; public class demo{ public static void main(string args[]){ int num = 10; system.out.println(test(num)); } public static int test(int b){ try{ b += 10; return b;

浅谈C语言return语句和main 函数的返回值

浅谈C语言return语句和main 函数的返回值 在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。 return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值。 说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助。 很多人甚至市面上的一些书籍,都使用了void main(),其实这是错误的。C/C++ 中从来没有定义过void main()。C++ 之父Bjarne Stroustrup 在他的主页上的FAQ 中明确地写着The definiTIon void main(){ /* 。。。*/ } is not and never has been C++,nor has it even been C.(void main()从来就不存在于C++ 或者C )。下面我分别说一下 C 和C++ 标准中对main 函数的定义。 1. C 在C89 中,main()是可以接受的。Brian W. Kernighan 和Dennis M. Ritchie 的经典巨著The C programming Language 2e(《C 程序设计语言第二版》)用的就是main()。不过在最新的C99 标准中,只有以下两种定义方式是正确的: int main(void ) int main(int argc,char *argv[]) (参考资料:ISO/IEC 9899:1999 (E)Programming languages C 5.1.2.2.1 Program startup)当然,我们也可以做一点小小的改动。例如:char *argv[]可以写成char **argv;argv 和argc 可以改成别的变量名(如intval 和charval),不过一定要符合变量的命名规则。 如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char *argv[])。

3.3.3跳转语句-break语句和continue语句比较

break与continue区别 break: 跳出(中止)所有的循环 continue: 结束本次循环,继续下一次循环 break 跳出语句块,执行下面的语句。 如果用break, 则不管其后面是否有满足for中条件的情况,都不做for中的循环体。 如果用continue,如果条件满足执行continue, 跳出下面语句的执行,而返 回到for 语句的开头,再次判断for中的条件,从而根据条件执行其中的循 环体内容。 举例: public class test { public static void main(String args[]) { System.out.println("循环没有开始"); System.out.println("现在开始测试continue"); for (int i = 0; i < 3; i++) { System.out.println("开始第" + i + "次for循环"); if (i == 1) { continue; } System.out.println("看看continue后这里执行了吗?"); } System.out.println("continue测试完毕\n***********************"); System.out.println("现在开始测试break"); for (int i = 0; i < 3; i++) { System.out.println("开始第" + i + "次for循环"); if (i == 1){ break; } System.out.println("看看break后这里执行了吗?"); } System.out.println("break测试完毕\n***********************"); } }

JavaScript中return的用法详解

JavaScript中return的用法详解 1、定义 return,从字面意思来看就是返回,官方定义return语句将终止当前函数并返回当前函数的值;可以看下下面的示例代码: Title 可以看到我在函数里面写了一个死循环,然后在下面调用,在没有写return语句时浏览器会一直执行循环内的语句,直接卡死;

而写了return语句后,直接中断了函数,并且给函数返回了一个数值1,意思就是当函数执行后,函数体将被赋值为函数的返回值,这里会被返回1; 2、写法 官方定义return后面可以跟一个value,也就是说可以跟javascript中的任何数据类型,数字,字符串,对象等,当然也可是再返回一个函数,举个栗子: Title 14 15 16 17 18 示例图片: 当然是函数就可以调用,我们可以写成!func1()();这里很好理解,func1();我们打印出来看了就是return后面跟的匿名函数,那么我们就可以通过自执行函数的形式来调用,这里通过!函数体();的形式来调用。可以将注释里的代码拿出来试验一下: 3、练习

有关“return 0”和“return 1”的辨析

有关“return 0”和“return 1”的辨析 观点1: return是一个返回语句,return后面的值将作为函数的返回值。例如,当我们编写了一个计算三角形周长的函数时,那么函数的最后就应该通过return 语句返回计算结果。 至于C语言/C++中的最后总有return 0 或 return 1语句,这是有特殊原因的。因为根据ANSI标准,程序的主函数main应该返回一个int值。这个值将传递给操作系统,一些批处理程序可以捕获它并处理。一般而言,return 0代表正常退出了。当然,在大多数编译器下,把main函数声明为void型也是没问题的,此时,程序最后就不会出现return语句了。 观点2: “return 0”是正常退出,“return 非零”是异常退出,这是返回给控制台的,不在我们编写的程序的控制范围内,是给操作系统识别的,对我们的程序无影响。如果是C中,定义void main()可以不用返回值。具体操作系统怎么处理0和非零,我也不知道,也没必要了解,因为与你的程序无关。 观点3: 一般windows程序员认为“return 0”是正常返回,“return 1”是非正常返回(即可能出错或异常),但这个只是标志的规定,事实上return 0和return 1的使用是按照公司的编码规定分别作出解释的,也可以两个都是正常的,不过比较常用的还是最初说的那种情况。 观点4: return 关键字的作用是返回程序流程的控制权,其副作用是返回一个值!被调函数 return 1;只是给主调函数一个标志,说明他的执行过程中遇到异常情况,然后就返回主调函数来处理和继续执行。在C语言/C++里面,0代表正常中止,非零都是异常,但是这些都只是一个习惯用法,你也可以在正常的时候返回1,用它来执行其它用途。 观点5: return; 跳到主调函数中; return 0; 代表函数正常终止; return 非零数; 代表函数异常终止; 他们的含义是“return”只是函数的跳出点,终止不是真的程序终止。

break和continue的区别

break和continue的区别 悬赏分:20 | 解决时间:2010-8-4 10:58 | 提问者:bluntd 这个程序求100到200之间所有素数并输出 #include #include void main() { int i=100,a=2,b; while (i<=200) { b=(int)sqrt(i); for(a=2;a<=b;a++) if (i%a==0) break; if (a>b) printf("%d\n",i); i++; } } 我用continue时候他会把100到200之间的每个数都输出 而用break就可以的到正确答案 continue不是结束本次循环不执行下面的语句么那用continue时候if (a>b) printf("%d\n",i);这句不是就应该不进行了么直接执行i++ 我写成这样 #include #include void main() { int i=100,a=2,b; while (i<=200) { b=(int)sqrt(i); for(a=2;a<=b;a++) {if (i%a==0) break; if (a>b) printf("%d\n",i);} i++; } } 如果用continue依旧不能得到结果求详细的解释问题补充: 第二个程序刚发错了 是这样#include #include void main() { int i=100,a=2,b;

while (i<=200) { b=(int)sqrt(i); for(a=2;a<=b;a++) {if (i%a==0) continue; else if (a>b) printf("%d\n",i);} i++; } } 我这样写从197开始每个数字输出四遍直到200 这个又是怎么回事这个用break 的话就不能输出任何结果 最佳答案break 跳出本次循环,continue 进入下一循环,就这么简单!该例中的break只是跳出本次循环,而continue会继续做a++直到循环完毕,当满足a>b的上一条时候正好是最后一条。固然每次都只是输出i了。如果第一段程序中加上continue那是没有任何异议的。因为for循环中的条件终止是a<=b 只有最后一跳后才能满足a>b,这里的for循环也没有任何意义了。程序编译到最好就只有: while(i<=200){printf("%d",i);i++} 结果就是:100 101 102...10n...200了。 对于你的提问: "continue不是结束本次循环不执行下面的语句么那用continue时候if (a>b) printf("%d\n",i);这句不是就应该不进行了么直接执行i++" 你要明白这里的if语句不在for循环中,break或者continue后面的分号才是for循环语句的结束点。 就到这里吧!有需要再联系...希望能帮到你. 程序短2中你是乱写的:在多加一个else if (a>b) printf("%d%d\n",i,b);}看看效果,屋子里没有tc,自己分析了.要逐个分析了.

C语言——continue和break的应用举例

C语言——Continue和break的作用举例Continue的作用是终止本次循环,break的作用是终止整个循环体。 例1: 输入一批考试分数,用-1作为结束标志,若输入大于100,\n则提示重新输入。然后计算最高分、最低分和平均值。 #include void start() { printf("*******<<<<<<<<<<<*********>>>>>>>>>>>>>>***********\n"); } main() { int mark,n=0,sum=0,max=0,min=100; float average; start(); printf("输入一批考试分数,用-1作为结束标志,若输入大于100,\n则提示重新输入。然后计算最高分、最低分和平均值。\n"); start(); for(;;) { scanf("%d",&mark); if(mark>100) { printf("Please reinput:\n"); continue; } if(mark==-1) break; n++; sum=sum+mark; if(mark>max) max=mark; if(mark

#include void main() { int mark,n=0,sum=0,max=0,min=100; float average; for(;;) { scanf("%d",&mark); //输入学生成绩 if(mark>100) //如果输入的成绩大于100,则重新输入 { printf("Please reinput:\n"); continue; //结束本次循环,返回for循环} if(mark==-1) //-1表示输入学生成绩结束 break; //终止整个循环,跳出循环体 n++; sum=sum+mark; if(mark>max) max=mark; //max存放最大的成绩 if(mark #define PI 3.14159265 void main() { int r; float s; for(r=1;r<=20;r++) { s=PI*r*r; if(s>200) break; printf("r=%d,s=%.2f\n",r,s); } }

总结Java中return语句的用法

总结Java中return语句的用法Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两 个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。 在return语句的各类文章中,大多仅仅介绍了return语句用于有返回值(非void返回值)的方法中。而很少或没有介绍return语句在vodi返回值方法中的运用。 return语句用在非void返回值类型的方法中,不但能返回基本类型,还可以返回(包括用户自定义类的)对象。 下面通过一个简单例子说明一下: /** * Created by IntelliJ IDEA. * User: leizhimin * Date: 2007-12-3 * Time: 8:54:28 * Java中的return语句使用总结 */ public class TestReturn { public static void main(String args[]) { TestReturn t = new TestReturn(); t.test1(); t.test2(); } /** * 无返回值类型的return语句测试 */ public void test1() { System.out.println("---------无返回值类型的return语句测试--------"); for (int i = 1; ; i++) { if (i == 4) return; System.out.println("i = " + i); } } /** * 有返回值类型的return语句测试

C break语句与continue语句

C break语句与continue语句 不通过循环头部或尾部的条件测试而跳出循环,有时是很方便的。break 语句可用于从for、while与do-while等循环中提前退出,就如同从switch语句中提前退出一样。break 语句能使程序从switch语句或最内层循环中立即跳出。 下面的函数trim用于删除字符串尾部的空格符、制表符与换行符。当发现最右边的字符 为非空格符、非制表符、非换行符时,就使用break语句从循环中退出。 /* trim: remove trailing blanks, tabs, newlines */ int trim(char s[]) { int n; for (n = strlen(s)-1; n >= 0; n--) if (s[n] != ' ' && s[n] != '\t' && s[n] != '\n') break; s[n+1] = '\0'; return n; } strlen函数返回字符串的长度。for循环从字符串的末尾开始反方向扫描寻找第一个不 是空格符、制表符以及换行符的字符。当找到符合条件的第一个字符,或当循环控制变量n 变为负数时(即整个字符串都被扫描完时),循环终止执行。读者可以验证,即使字符串为空 或仅包含空白符,该函数也是正确的。 continue 语句与break 语句是相关联的,但它没有break 语句常用。continue 语 句用于使for、while 或do-while 语句开始下一次循环的执行。在while 与do-while 语句中,continue 语句的执行意味着立即执行测试部分;在for 循环中,则意味着使控制 转移到递增循环变量部分。continue 语句只用于循环语句,不用于switch 语句。某个循 环包含的switch语句中的continue语句,将导致进入下一次循环。 例如,下面这段程序用于处理数组a 中的非负元素。如果某个元素的值为负,则跳过不 处理。 for (i = 0; i < n; i++) if (a[i] < 0) /* skip negative elements */ continue; ... /* do positive elements */ 当循环的后面部分比较复杂时,常常会用到continue 语句。这种情况下,如果不使用continue 语句,则可能需要把测试颠倒过来或者缩进另一层循环,这样做会使程序的嵌套 更深。

c++ break语句和continue语句的区别

//break语句:可以强制退出循环,然后继续执行循环体外的语句。 //continue语句:执行到循环体的某处就不再执行后面语句了,而是跳到循环的开始继续执行。 //解释:其实可以从英文单词的字面意思理解这两个语句:break是打断,切断的意思;continue 是继续的意思, //都可以用于循环体里面结束循环。而不同的是break是退出整个循环(break后不再循环),continue是 //结束这一次循环,后面如果有循环体内的语句也不执行了,进入下一次循环(继续循环)。break是整体结束循环,continue是局部结束循环。 //举个例子:你现在在做面包,每做一炉的面包要做的事是一样的,所以做面包就是个不断循环的过程,每做一炉面包有很多步骤(相当于循环体 //里面的语句)。break就是做着做着你不想做了,回家睡大觉去了或者去看电视或者做别的事,不再干做面包这件事了,continue就是做着做着 //发现问题了(比如面和得不好或者面包烤焦了),这一炉面包不做了,后面的步骤也不执行了,去做下一炉面包(还是继续做面包)。 # include using namespace std; /*break的程序 int main() { int i = 0; while(i<3) { i++; if(i == 1) break; cout<<"i的值是:"<

关于C语言中return的一些总结

关于C语言中return的一些总结 return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值. 说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助. 很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父Bjarne Stroustrup 在他的主页上的FAQ 中明确地写着The definition void main( ) { /* ... */ } is not and never has been C++, nor has it even been C.(void main( ) 从来就不存在于C++ 或者C )。下面我分别说一下 C 和C++ 标准中对main 函数的定义。 1. C 在C89 中,main( ) 是可以接受的。Brian W. Kernighan 和Dennis M. Ritchie 的经典巨著The C programming Language 2e(《C 程序设计语言第二版》)用的就是main( )。不过在最新的C99 标准中,只有以下两种定义方式是正确的: int main( void ) int main( int argc, char *argv[] ) (参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1 Program startup) 当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成char **argv;argv 和argc 可以改成别的变量名(如intval 和charval),不过一定要符合变量的命名规则。 如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。main 函数的返回值类型必须是int ,这样返回值才能传递给程序的激活者(如操作系统)。 如果main 函数的最后没有写return 语句的话,C99 规定编译器要自动在生成的目标文件中(如exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为vc6 是98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return 语句了吧!不过,gcc3.2(Linux 下的C 编译器)会在生成的目标文件中加入return 0; 。 2. C++ C++98 中定义了如下两种main 函数的定义方式: int main( ) int main( int argc, char *argv[] ) (参考资料:ISO/IEC 14882(1998-9-01)Programming languages — C++ 3.6 Start and termination) int main( ) 等同于C99 中的int main( void ) ;int main( int argc, char *argv[] ) 的用法也和C99 中定义的一样。同样,main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入return 0; 。同样,vc6 也不支持这个特性,但是g++3.2(Linux 下的C++ 编译器)支持。 3. 关于void main 在C 和C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 。然而这是错误的!main 函数的返回值应该定义为int 类型,C 和C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如vc6),但并非所有编译器都支持void main ,因为标准中从来没有定义过void main 。g++3.2 中如果main 函数的返回值不是int 类型,就根本通不过编译。而gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用int main 。

break和continue的用法详解

Break和continue的用法详解 break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while 与do while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。 continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环。例如: for(int i = 1; i < 10; i++) { if(i == 5) break; System.ut.println("i = " + i); } 这段程序会显示i = 1到4,因为当i 等于5时就会执行break而离开循环。再看下面这个程序: for(int i = 1; i < 10; i++) { if(i == 5) continue; System.out.println("i = " + i); } 这段程序会显示1到4,与6到9。当i 等于5时,会执行continue直接结束此次循环,这次循环中System.out.println()行并没有被执行,然后从程序块开头执行下一次循环,所以5并没有被显示。 break与continue还可以配合标签使用,例如本来break只会离开for循环,设定标签与程序块,则可以离开整个程序块。范例3.33是一个简单的示范。 ü 范例3.33 BreakTest.java public class BreakTest { public static void main(String[] args) { back : { for(int i = 0; i < 10; i++) { if(i == 9) { System.out.println("break"); break back; } }

相关文档
最新文档