break,continue,return的区别

相信在开发中,很多人都接触过着三者,break和return可能用的比较多,但是对于continue可能比较模糊,我来小小总结下三者的区别及使用

1.break直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出.

- (void) test {

for(int i =0;i<10;i++){

nslog(@"%@",i);

break;

  }

}

这个时候使用break,会跳出当层的for循环,返回到test函数的调用者位置,有且也只能跳出一层,嵌套使用时候,需要层层跳出。

2.continue也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.

- (void) test {

for(int i =0;i<10;i++){

if(i==2){

nslog(@"我是测试字符串");

continue;

}

nslog(@"%@",i);

  }

}

这个时候使用continue,并不会跳出整个的for循环,而是中断循环的一次,那么那个i就不会被打印,但是会在i>2时候打印,继续完成整个for循环。

3.return 语句可被用来使 正在执行分支程序返回到调用它方法。

- (void) test {

for(int i =0;i<10;i++){

nslog(@"%@",i);

break;

}

}

这个时候使用break,会直接跳出整个方法,返回到函数调用者的地方,跟break有点类似,但是returan权限更高。

你可能感兴趣的:(break,continue,return的区别)