循环语句
为什么要用循环?
主要解决重复性的操作(计算逻辑上重复)
循环四要素:
1.循环的初始化
2.循环的继续条件(结束条件)
3.循环的循环体(需要将那些部分进行循环操作)
4.循环的步长,周期,间距
while循环
while语句 主要处理循环次数未知的情况下,while循环在条件为真的情况下,重复执行语句。
语法结构:
1初始化
while(2继续条件){
3循环体
4步长
}
例子:
int sum=0,i=1;
while(i<10){
sum=sum+i;
i++;
}
如果i<10为true,循环,i自增直到i>=10,退出循环。
如果被写成这样
int sum=0,i=1;
while(i<10){
sum=sum+i;
}
该循环就会成为无限循环,因为i总是1而i<10永远都为true。(如果在命令框中运行,按CTRL+C键来结束)
do-while循环
do-while循环与while循环基本一样,不同的是它先执行循环体一次,然后判断循环继续条件。
语法结构:
循环的初始化
do{
循环体
循环步长
}while(循环继续条件);
for循环
主要处理循环次数已知的情况下
语法结构:
for(1初始化;2继续条件;){
3循环体
4步长
}
三种循环结构采用哪种好呢?
建议使用自己觉得最自然、最舒服的一种循环语句。通常,如果已经提前知道重复次数,那就采用for循环,例如,需要打印一条信息100次时。如果无法确定重复次数,就采用while循环,就像读入一些数值直到读入为0为止的这种情况。如果在检测循环继续条件前需要执行循环体,就用do-while循环替代while循环。
嵌套循环
嵌套循环是由一个外层循环和一个或多个内层循环组成的。每当重复执行一次外层循环时将再次进入内部循环,然后重新开始。
跳转语句
break:只能用在循环或switch语句中
在循环中表示跳出当前的循环(最近的那循环)
看下面代码:
int sum=0,i=1;
while(true){
if(i>10){
break;
}
sum=sum+i;
i++;
}
这里当i>10,执行break表示跳出循环,循环结束。可以作为循环终止条件。另外,当break在switch语句中表示退出选择。
continue:只能在循环语句中使用
在循环中表示跳过当前循环,开启下一轮循环
改了一下上面代码:
int sum=0,i=0;
while(i<20){
i++;
if(i==10||i==11){
continue;
}
sum+=i;
}
程序中有了if语句,当i为10或11时,就会执行continue语句。continue语句结束当前迭代,就不再执行循环体中的其他语句,因此在i为10或11时,它就没有被加到sum中。
另外的,还可以定义标记值,用来标记循环的结束,标记值是一个特殊值。