How does 'break' work?

30 次查看(过去 30 天)
Sherwin
Sherwin 2016-10-27
评论: Sherwin 2016-10-27
Hi, I need to know what happens after "break"? what does the loop skip to? I need it to skip to "for i = 1:50" and start from a new i. Please help me.
for i = 1:50
if a {i,5}(1) <= a{1,4}(1)
b{i,1} = a{1,1};
else
for j = 1:50
if a {i,5}(1) >= a{j,4}(1) && a{i,5}(1) <= a{j+1,4}(1)
b{i,1} = a{j+1,1};
break
end
end
end
end

采纳的回答

James Tursa
James Tursa 2016-10-27
编辑:James Tursa 2016-10-27
The "break" statement breaks out of the "innermost" loop that it is inside of. In your code above, it will break out of the for j=1:50 loop and start executing at the next line after the "j loop" end statement. This next statement happens to be the end statement in an else clause. Since there is no "i loop" code after this end statement other than the "i loop" end statement, this break will effectively cause the for i=1:50 loop to skip to the next i also.
  3 个评论
James Tursa
James Tursa 2016-10-27
Yes. Right after b{i,1} is assigned, it will break out of the "j loop". The next statement it hits is the "end" associated with the "else" block. So it exits this "else" block. The next statement it hits is the "end" associated with the "i loop". So this will effectively cause the code to skip to the next "i" iteration.
Sherwin
Sherwin 2016-10-27
Thank you so much!

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2016-10-27
"break" lets some of the Magic Smoke out of your loop. It is sort of like letting some of the air out of your tires -- while you are driving on the highway!

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by