break和continue的区别

break和continue的区别如下: 1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句 2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。举例说明。 int i; int s = 0; for (int i = 1; i <= 10; i++) { if (i == 6) break; s += i; } 上面的循环会因为break语句而在i=6时提前终止,这样s的最终值就是1+2+3+4+5 如将break换成continue int i; int s = 0; for (int i = 1; i <= 10; i++) { if (i == 6) continue; s += i; } 当i=6时就不会将i累加到s中,s的最终值是1+2+3+4+5+7+8+9+10,唯独少一个6 在一具循环体中,如果用break返回, 则不管其后面是否有满足for中条件的情况,都不做for中的循环体,即不会做; 如果用continue返回,如果条件满足执行continue, 跳出下面语句的执行,而返回到for 语句的开头,再次判断for中的条件,从而根据条件执行其中的循环体内容。 简单地说,比如这样一个程序: for(...) { ... continue/break; ... } System.out.prinln("a"); continue表示立即去执行“for(...)”这行代码,break表示立即去执行“System.out.prinln("a");”这行代码。我随手写了一段程序,你看看可能能帮助你理解。 public class BreakTest { 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***********************"); } } 1. break 与 continue 加标签用法 在Java语句里,唯一能放标签的地方是在循环语句前面。而且循环语句跟标签之间不能有任何东西。 label1: outer-iteration { inner-iteration { //... break; // 1 //... continue; // 2 //... continue label1; // 3 //... break label1; // 4 } } 案例1会中断内部循环。2会中断内部当前循环,直接跳入下一轮循环。案例3中断内部和外部循环,跳到label1,从外部开头重新开始循环。案例4跳到label1,且不在进入循环。 下面举例: public class LabeledFor { static Test monitor = new Test(); public static void main(String[] args) { int i = 0; outer: // Can't have statements here for(; true ;) { // infinite loop inner: // Can't have statements here for(; i < 10; i++) { System.out.println('i = ' + i); if(i == 2) { System.out.println('continue'); continue; } if(i == 3) { System.out.println('break'); i++; // Otherwise i never // gets incremented. break; } if(i == 7) { System.out.println('continue outer'); i++; // Otherwise i never // gets incremented. continue outer; } if(i == 8) { System.out.println('break outer'); break outer; } for(int k = 0; k < 5; k++) { if(k == 3) { System.out.println('continue inner'); continue inner; } } } } } } ///:~ 结果: 'i = 0', 'continue inner', 'i = 1', 'continue inner', 'i = 2', 'continue', 'i = 3', 'break', 'i = 4', 'continue inner', 'i = 5', 'continue inner', 'i = 6', 'continue inner', 'i = 7', 'continue outer', 'i = 8', 'break outer' class TestBreak { static void Main(string[] args) { List list = new List (); for (int i = 0; i < 100; i++) { list.Add(i); } foreach (int i in list) { if (i == 2) { continue;//结束此次循环,不再执行席迈的代码,继续下一次循环 } if (i ==10) { break;//退出整个循环 } Console.WriteLine("该值为:" + i.ToString()); } } }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值