break语句和continue语句是我们编程中常用的语句,下面我对break和continue的用法和区别进行详细的解释和说明。
一.用法
1.break
break语句用于for、while、do-while、switch结构中,结构执行遇到break则退出。以for循环结构为例,当执行for循环结构遇到break时,立刻跳出当前break所在的最小循环体,且不再执行当前循环体后面的代码段。
例如:
1| //num_i用来记录外层for循环num_i++的总次数,num_j用来记录内层for循环num_j++的总次数
2| int num_i=0,num_j=0;
3| for(int i=0;i<5;i++)
4| {
5| for(int j=0;j<5;j++)
6| {
7| num_j++;
8| break; //break1
9| num_j++;
10| }
11| //break; //break2
12| num_i++;
13| }
14| cout<<"num_i="<<num_i<<" "<<"num_j="<<num_j<<endl;
(注:此时break1当前所在的最小循环体是j<5的for循环,break2当前所在的最小循环体是i<5的for循环)
如上述代码所示,使用break和不使用break的输出结果如下(以使用break1为例):
(1)使用break
(2)不使用break
由(1),(2)可以知道当使用了break后,程序进入j<5的for循环体后,由执行5次后退出当前循环体变为遇到break立刻退出当前循环体,且不再执行当前循环体后面的代码段。
2.continue
continue语句用于for、while、do-while结构中,在执行这些循环结构时遇到continue则提前结束该循环体的本次循环操作,并进入是否进行下一次循环操作的判定。以for循环为例,j或i每次经过循环体加1的过程就是一次循环操作,当遇到continue时,则提前结束本次循环操作。
例如:
1| //num_i用来记录外层for循环num_i++的总次数,num_j用来记录内层for循环num_j++的总次数
2| int num_i=0,num_j=0;
3| for(int i=0;i<5;i++)
4| {
5| for(int j=0;j<5;j++)
6| {
7| num_j++;
8| continue; //continue1
9| num_j++;
10| }
11| //continue; //continue2
12| num_i++;
13| }
14| cout<<"num_i="<<num_i<<" "<<"num_j="<<num_j<<endl;
如上述代码所示,使用continue和不使用continue的输出结果如下(以使用continue1为例):
(1)使用continue
(2)不使用continue
由(1),(2)可以知道当使用了continue后,程序进入j<5的for循环体后,由每一次循环操作执行两次num_ j++后开始下一次循环操作变为每一次循环操作执行一次num_ j++。
二.break和continue的区别
continue语句只能用于循环结构中,且continue语句只能提前结束本次循环操作,而break语句是使程序直接退出当前结构体。