搜档网
当前位置:搜档网 › JAVA for语句中的break

JAVA for语句中的break

JAVA for语句中的break
JAVA for语句中的break

JAVA for语句中的break、continue、return使用简介

5.3.1 使用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 System.out.println("i: " + i); } System.out.println("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

System.out.println("i: " + i); i++; } System.out.println("Loop complete."); } } 在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。

例如:

// Using break with nested loops. class BreakLoop3 { public static void main(String args[]) { for(int i=0; i<3; i++) { System.out.print("Pass " + i + ": "); for(int j=0; j<100; j++) { if(j == 10) break; // terminate loop if j is 10 System.out.print(j + " "); } System.out.println(); } System.out.println("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: {System.out.println("Before the break.");if(t) break second; // break out of second blockSystem.out.println("This won't execute"); } System.out.println("This won't execute");}System.out.println("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 void main(String args[]) { outer: for(int i=0; i<3; i++) { System.out.print("Pass " + i + ": "); for(int j=0; j<100;

j++) { if(j == 10) break outer; // exit both loops System.out.print(j + " "); }

System.out.println("This will not print"); } System.out.println("Loops complete."); } }

该程序产生如下输出:Pass 0: 0 1 2 3 4 5 6 7 8 9 Loops complete. 你可以看到,当内部循环退到外部循环时,两个循环都被终止。记住如果一个标签不在包围break块中定义,你就不能break 到该标签。

例如,下面程序就是非法,且不会被编译:// This program contains an error. 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 语句,所以不能将控制传递到该块。

5.3.2 使用continue 语句有时强迫一个循环提早反复是有用。也就是,你可能想要继续运行循环,但是要忽略这次重复剩余循环体语句。实际上,goto 只不过是跳过循环体,到达循环尾部。continue 语句是break语句补充。在while 和do while 循环中,continue 语句使控制直接转移给控制循环条件表达式,然后继续循环过程。在for 循环中,循环反复表达式被求值,然后执行条件表达式,循环继续执行。对于这3种循环,任何中间代码将被旁路。

下例使用continue 语句,使每行打印2个数字:// Demonstrate continue. 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(""); } } } 该程序使用%(模)运算符来检验变量i

是否为偶数,如果是,循环继续执行而不输出一个新行。

该程序结果如下:0 1 2 3 4 5 6 7 8 9 对于break语句,continue 可以指定一个标签来说明继续哪个包围循环。下面例子运用continue 语句来打印0到9三角形乘法表:// Using continue with a label. class ContinueLabel { public static void main(String args[]) { outer:

for (int i=0; i<10; i++) { for(int j=0; j<10; j++) { if(j > i) { System.out.println(); continue outer; } System.out.print(" " + (i * j)); }} System.out.println(); } } 在本例中continue 语句终止计数j 循环而继续计数i下一次循环反复。该程序输出如下: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 语句提供一个结构化方法来实现。

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

return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句。尽管对return 语句详细讨论在第7 章开始,这里对其作简要地介绍。在一个方法任何时间,return 语句可被用来使正在执行分支程序返回到调用它方法。下面例子说明这一点。下例中,由于是Java 运行系统调用main() ,因此,return 语句使程序执行返回到Java 运行系统。// Demonstrate return. class Return { public static void main(String args[]) { boolean t = true; System.out.println("Before the return."); if(t) return; // return to caller System.out.println("This won't execute."); } } 该程序结果如下:Before the return. 正如你看到一样,最后println( ) 语句没有被执行。一旦return语句被执行,程序控制传递到它调用者。最后一点:在上面程序中,if(t)语句是必要。没有它,Java 编译器将标记“执行不到代码”(unreachable code )错误,因为编译器知道最后println ()语句将永远不会被执行。为阻止这个错误,为这个例子能够执行,在这里使用if语句来“蒙骗”编译器。

switch用法

C语言switch语句的用法详解 C语言还提供了另一种用于多分支选择的switch语句,其一般形式为: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case 后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){ case 1:printf("Monday\n"); case 2:printf("Tuesday\n"); case 3:printf("Wednesday\n"); case 4:printf("Thursday\n"); case 5:printf("Friday\n"); case 6:printf("Saturday\n"); case 7:printf("Sunday\n"); default:printf("error\n"); } } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。 为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。 main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){

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) {

switch语句练习

1、编写电信客服服务调查反馈信息: 如果 输入0:不满意 输入1:十分满意 输入2:满意 输入3:基本满意 输入其他:我要投诉! 2、根据存款利率计算表,计算所存钱的利率 注意:假定存钱变量为x,要求从键盘输入其值并选择存款方式,计算存款利率并输出显示。 利率计算: (1)3个月 3.10%, (2)6个月3.30% (3)一年 3.50% (4)二年 4.40% (5)三年 5.00% (6)五年 5.50% (7)其他:输入错误。 3、自行创建一个菜单选择项,输入选项,输出结果。 4、从键盘上输入一个百分制成绩score, 输出成绩评定等级: 90以上:优秀 80~90:良好 70~80:中等 60~70:及格 60以下:不及格 5、编一程序,要求实现下面的功能:输入一个实数后,屏幕上显示如下菜单(加粗部分): ************************** 1.输出相反数 2.输出平方数 3.输出平方根 4.退出 *********************** 输入相应选项,输出结果 5、要将“China”翻译成密码。密码规律是:用原来字母的后面第4个字母代替原来的字母。请编写一程序实现。并输出结果。 6、输入一个不大于255的自然数x,计算y=(1+x)/x2。 7、给定一个三位正整数,分别输出它的个位数、十位数和百位数。 8、输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。 C>40时,打印“Hot” 30

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

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***********************"); } }

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的值是:"<

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); } }

switch语句的用法

Switch语句的一般形式为: Switch(表达式) { case 常量表达式1: 语句1;break; case 常量表达式2: 语句2; break; … case 常量表达式n: 语句n; break; default: 语句;break; } 意思是先输入表达式的值,再输出和case 后的常量表达式比较,若不在case的语句中,则执行default后的语句;若与某一个常量表达式相等,则从这个表达式后的语句开始执行,并执行该case后的语句。 与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句后有break语句,其含义为结束当前循环,不再执行该循环体。 例题:从键盘中输入0~6,并输出星期几。 #include #include using namespace std; int main() { int day;

cin>>day; switch(day) { case 0: cout<<"Sunday"<

If、switch选择语句

一。if语句的使用方法 if语句用于判断条件并按照相应的条件执行不同的代码块,if语句包括多种呈现形式,这些形式分别是if、if else、if else if。 1.声明if语句 注意:if语句的条件表达式最终是一个布尔类型 if语句的语法如下所示。 if(布尔值) 程序语句 当布尔值为true,则会执行程序语句,当布尔值为false时,程序会跳过执行的语句执行,示例代码如下所示。 if (true)//使用if语句 { console.writeline("ture");//为true的代码块 } 上述代码首先会判断if语句的条件,因为if语句的条件为true,所以if语句会执行大括号内的代码,程序运行会输出字符串true,如果将if内的条件改为false,那么程序将不会执行大括号内的代码,从而不会输出字符串true。 2.声明if else语句 if else语句的语法如下所示。 if(布尔值) 程序语句1 else 程序语句2 同样,当布尔值为true,则程序执行程序语句1,但当布尔值为false时,程序则执行程序语句2,示例代码如下所示。 if (true)//使用if语句判断条件 {

console.writeline("ture");//当条件为真时执行语句 } else//如果条件不成立则执行 { console.writeline("false");//当条件为假时执行语句 } 上述代码中if语句的条件为true,所以if语句会执行第一个大括号中间的代码,而如果将true改为false,则if语句会执行第二个大括号中的代码。 3.声明if else if语句 当需要进行多个条件判断是,可以编写if else if语句执行更多条件操作,需要注意的是if else if语句一个整体,当条件匹配满足之后就停止,也就是说这个整体只会执行一个条件满足的语句,示例代码如下所示。 if (month == "12")//判断month是否等于12 { console.writeline("winter");//输出winter } else if (month == "7")//判断month是否等于7 { console.writeline("summer");//输出summer } else if (month == "3")//判断month是否等于3 { console.writeline("spring");//输出spring } else//当都不成立时执行 { console.writeline("we don’t have this month");//输出默认情况

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; } }

编程中break的用法

编程中break的用法 其中的两种非常常用,就是switch语言的break终止和循环语句中(for,While,do While)的break跳出循环。第三种不常用,就是作为“goto“语句跳到指定位置。 先来说说常用的两种: 1、Switch中的break,跳出语句,代码如下: public static void main(String[] args) { inti = 5; switch(i){ case 1: System.out.println("this is "+1); break;//break根據業務需求來決定是否添加 case 2: System.out.println("This is "+ 2); break; case 3: System.out.println("This is "+ 3); break; case 4: System.out.println("This is "+ 4); break; case 5:

System.out.println("This is "+ 5); break; default: System.out.println("This is "); } } 2、break在循环中的使用,这里以for循环为例; 注意:单循环代码如下: public static void main(String[] args) { inti = 10; for(;i<=100;i++){ if(i==12){ break; } System.out.println("this is i:"+i); } } 3、break在循环中的使用,这里用双for循环为例; 代码如下: public static void main(String[] args) { inti = 10; for(;i<=15;i++){

循环结构中break、continue、return和exit的区别

循环结构中break、continue、return和exit的区别 1. break break语句的使用场合主要是switch语句和循环结构。在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。如果循环结构里有switch语句,并且在switch语句中使用了break 语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构。通过图3-17,读者可以很直观地了解break语句的使用。 2. continue continue语句是这5种结束循环的方式中最特殊的,因为它并没有真的退出循环,而是只结束本次循环体的执行,所以在使用continue的时候要注意这一点。图3-18为各种循环结构中continue语句的使用。 在for循环中,首先执行表达式1(注意表达式1在整个循环中仅执行一次),接着执行表达式2,如果满足条件,那么执行循环体,如果在循环体中执行了continue语句,那么就跳转到表达式3处执行,接下进行下一次循环,执行表达式2,看是否满足条件;在while 循环中,如果执行了continue语句,那么就直接跳转到表达式处,开始下一次的循环判断;

在do while循环体中如果执行了continue语句,那么就跳转到表达式处进行下一次的循环判断,这一点前面已经验证过了。 (点击查 看大图)图3 3. return语句 如果在程序中遇到return语句,那么代码就退出该函数的执行,返回到函数的调用处,如果是main()函数,那么结束整个程序的运行。图3-20为return语句的使用。

switch语句的用法

if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为: 引用 switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; } switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.如下程序,可以根据输入的考试成绩的等级,输出百分制分数段: 引用 switch(grade) { case 'A': /*注意,这里是冒号:并不是分号;*/ printf("85-100\n");

break; /*每一个case语句后都要跟一个break用来退出switch 语句*/ case 'B': /*每一个case后的常量表达式必须是不同的值以保证 分支的唯一性*/ printf("70-84\n"); break; case 'C': printf("60-69\n"); break; case 'D': printf("<60\n"); break; default: printf("error!\n"); } (2) 如果在case后面包含多条执行语句时,也不需要像if语句那样加大括号,进入某个case后,会自动顺序执行本case后面的所有执行语句.如: 引用 { case 'A': if(grade<=100) printf("85-100\n"); else printf("error\n"); break; …… (3) default总是放在最后,这时default后不需要break语句.并且,default 部分也不是必须的,如果没有这一部分,当switch后面圆括号中表达式的值与所有case后面的常量表达式的值都不相等时,则不执行任何一个分支直接退出switch语句.此时,switch语句相当于一个空语句.例如,将上面例子中switch 语句中的default部分去掉,则当输入的字符不是"A","B","C"或"D"时,此switch语句中的任何一条语句也不被执行. (4) 在switch-case语句中,多个case可以共用一条执行语句,如:

浅谈continue与break在循环体中的作用

浅谈continue语句与break语句在for循环体中的区别在《高中信息技术教材》c语言章节中,讲到了continue与break 语句在for循环体中的应用。现在我就谈谈continue语句与break语句在循环体中的区别。 在for循环体中可以使用continue与break语句来改变循环执行过程,但是,它们各自所发挥的作用是完全不相同的,若使用continue 语句,则跳过本次循环体执行那些尚未执行的语句,继续下一次循环。若使用break语句,则可使流程跳出本层循环,尤其在多层次的循环结构中,利用break语句可以提前结束内层循环。 举例说明continue与break语句的区别 例1:写出下列程序的运行结果 Int i , x=0,y=0 For (i=0,i<5;i++) { if (i%2>0) {x++;continue} Y++; } Print("x=%d; y=%d;x,y); 分析:该程序当I值为奇数时,执行IF语句中的x++;然后执行continue;使流程跳过foR循环体中的Y++;继续下一次循环,当i为奇数时,不执行IF子句,而执行FOR循环体中的Y++。

答案:x=2,y=3 例2:写出下列程序的运行结果 Int i , x=0,y=0 For (i=0,i<5;i++) { if (i%2>0) {x++;break;} Y++; } Print("x=%d; y=%d;x,y); 分析:该程序当I为奇数时,执行if语句中的x++;然后执行break 语句,流程跳出for循环体,执行for循环后面的语句。即print语句。答案:x=1,y=1 这就是我个人对continue和break语句在for循环体中的理解,若有什么好的见解,望同仁指出。

SWITCH语句格式

被判断的对象等于哪个case值就执行哪个case分支,不等于任何case值就执行default 分支。 default分支是可选项。 switch语句用于表达一类特殊的多分支问题,即被判断的对象只有一个、该对象有多个可能的值、这些值可以一一列出的问题。 任何switch语句都可以换成多分支if语句,但反过来不一定可以。 switch语句还有如下使用格式: switch(变量或含变量的表达式) { case 值1 : case 值2 : 被判断的对象等于 case 值3 : 值1或值2或值3 分支1; 时执行分支1 break; case 值4: 被判断的对象等于值4 case 值5: 或值5时执行分支2 分支2; break; ...... default: 分支n+1; } 【例1】写一个程序,当输入1时输出星期一,输入2时输出星期二,输入3时输出星期三......(用switch语句)。篇二:c语言“switch语句”的使用技巧 c语言“switch语句”的使用技巧 steve c语言作为国际上流行的计算机语言已经和正在被广大的计算机用户使用。凡是使用过的人都会有同样的感觉——c语言的使用灵活这个特点既是优点又是缺点,因为对精通c语言的用户来讲,灵活就意味着编程可以无拘无束,甚至随心所欲;但对初学者或者是尚未摸着规律的用户来说,有时候就会觉得c程序设计有点象雾里看花,摸不着头脑。因为灵活就意味着没有一个标准。而实际上,c语言和其它计算机语言一样,只要你真正掌握了该语言的每一个语句的特点,理解、运用就不难掌握了。下面就c语言中switch语句的使用特点谈谈自己的体会。 switch语句的格式如下: switch(表达式) {case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式3:语句3 . . case 常量表达式n:语句n default :语句n+1 } 从表面上看来,switch语句与pascal语言中的case语句以及

Java break和continue语句

Java编程那些事儿 break和 continue语句 5.5 break和continue语句 break和continue语句是和循环语句紧密相关的两种语句。其中break关键字的意思是中断、打断,continue 关键字的意思是继续。使用这两个关键字可以调节循环的执行。 5.5.1 break语句 break语句在前面的switch语句中已经介绍过,功能的话是中断switch语句的执行,在循环语句中,break语句的作用也是中断循环语句,也就是结束循环语句的执行。 break语句可以用在三种循环语句的内部,功能完全相同。下面以while语句为例来说明break语句的基本使用及其功能。 示例代码: int i = 0; while(i < 10){ i++; if(i == 5){ break; } } 则该循环在变量i的值等于5时,满足条件,然后执行break语句,结束整个循环,接着执行循环后续的代码。在循环语句中,可以使用break语句中断正在执行的循环。 在实际的代码中,结构往往会因为逻辑比较复杂,而存在循环语句的嵌套,如果break语句出现在循环嵌套的内部时,则只结束break语句所在的循环,对于其它的循环没有影响,示例代码如下: for(int i = 0; i < 10; i++){ for(int j = 0; j < 5; j++){ System.out.println(j); if(j == 3){ break; } } } 则该break语句因为出现在循环变量为j的循环内部,则

执行到break语句时,只中断循环变量为j的循环,而对循环变量为i的循环没有影响。 在上面的示例代码中,如果需要中断外部的循环,则可以使用语法提供的标签语句来标识循环的位置,然后跳出标签对应的循环。示例代码如下: lable1: for(int i = 0; i < 10; i++){ for(int j = 0; j < 5; j++){ System.out.println(j); if(j == 3){ break label1; } } } 说明:这里的label1是标签的名称,可以为Java语言中任意合法的标识符,标签语句必须和循环匹配使用,使用时书写在对应的循环语句的上面,标签语句以冒号结束。如果需要中断标签语句对应的循环时,采用break后面跟标签名的方式中断对应的循环。则在该示例代码中break 语句中断的即循环变量为i的循环。 同样的功能也可以使用如下的逻辑实现: boolean b = false; for(int i = 0; i < 10; i++){ for(int j = 0; j < 5; j++){ System.out.println(j); if(j == 3){ b = true; break; } } if(b){ break; } } 该示例代码中,通过组合使用2个break以及一个标识变量,实现跳出外部的循环结构。 5.5.2 continue语句 continue语句只能使用在循环语句内部,功能是跳过该 次循环,继续执行下一次循环结构。在while和do-while 语句中continue语句跳转到循环条件处开始继续执行,而在for语句中continue语句跳转到迭代语句处开始继续执行。 下面以while语句为例,来说明continue语句的功能,示例代码如下:

循环语句中break等的用法

1. break break语句的使用场合主要是switch语句和循环结构。 在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。 如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构。通过图3-17,读者可以很直观地了解break语句的使用。 2. continue continue语句是这5种结束循环的方式中最特殊的,因为它并没有真的退出循环,而是只结束本次循环体的执行,所以在使用continue的时候要注意这一点。图3-18为各种循环结构中continue语句的使用。 在for循环中,首先执行表达式1(注意表达式1在整个循环中仅执行一次),接着执行表达式2,如果满足条件,那么执行循环体,如果在循环体中执行了continue语句,那么就跳转到表达式3处执行,接下进行下一次循环,执行表达式2,看是否满足条件; 在while循环中,如果执行了continue语句,那么就直接跳转到表达式处,开始下一次的循环判断; 在do while循环体中如果执行了continue语句,那么就跳转到表达式处进行下一次的循环判断,这一点前面已经验证过了。

图3 3. return语句(可以嵌入在子程序的循环中) 如果在程序中遇到return语句,那么代码就退出该函数的执行,返回到函数的调用处, 如果是main()函数,那么结束整个程序的运行。图3-20为return语句的使用。 如果是在自定义的函数中执行,那么执行return之后就返回到函数的调用处继续往下执行。 一个函数体中可以有多个return语句,但在多个return语句中,被执行的只有一个.当return语句执行时,函数"返回"了.即跳出了该函数体,转而执行别的代码. 每个return语句的return值可以各不相同,当函数返回时,你可以根据return的不同值进行不同的处理. 如:如果返回1表示a>b,返回2表示a

相关主题