一、if break基础用法
for i=1:10
if i>5
break;
end
disp(i);
end
上述代码中,for循环的迭代次数为1到10,如果i>5,那么执行break语句退出循环,否则输出i的值。
如果需要在执行break之前输出最后一次满足循环条件的i的值,可以在if语句中增加一行disp(i)。
二、if语句多层嵌套
for i=1:10
for j=1:10
if i*j>50
break;
end
disp(i*j);
end
end
上述代码中,在两层嵌套的for循环中,如果i*j>50,则跳出内层循环,输出外层循环i的下一个值。
当需要在外层循环被打断时输出最后一次满足条件的i和j的值,可以增加一层if语句判断是否内层循环已经执行结束,如下所示:
for i=1:10
for j=1:10
if i*j>50
break;
end
disp(i*j);
if j==10
disp([i,j]);
end
end
end
三、while循环中的if break
a=1;
while a<=10
if a>5
break;
end
disp(a);
a=a+1;
end
以上代码中,当a达到6时,while循环会被打断,输出5以内的a的值。
四、if语句中的continue和return
在if语句中,还有两个控制结构:continue和return。
当执行continue时,程序会直接跳过if语句下的剩余代码继续执行下一次for或while循环,如下所示:
for i=1:10
if i>5
continue;
end
disp(i);
end
执行以上代码,将输出1到5的数字,跳过6到10的数字。
而return则是直接退出程序,并返回到调用函数中。
五、if语句嵌套的复杂用法
for i=1:10
for j=1:10
if i>j
continue;
end
if i>5 && j>5
break;
end
disp(i*j);
end
end
以上代码中,在两层嵌套的for循环中,当i>j时跳过本次循环,否则输出i*j。当i>5且j>5时,跳出内层循环,输出外层i的下一个值。
六、总结
if break在Matlab中是一个非常实用的控制结构,可以方便地控制循环的执行顺序。通过多层嵌套和复杂条件判断,可以实现更加高效的代码编写。同时,配合continue和return的使用,可以让代码更加灵活多变。