在平时的编程中,我们一定会遇到一种操作,就是需要重复的执行某一项操作.重复的次数少还好,但是如果重复操作的次数太多,手动操作就会很耗费工作量,这个时候我们就可以用循环来进行操作.
java为我们提供了for循环,while循环,do...while循环,这样我们就可以进行某些重复性的操作.下面为大家分享几种循环.
1.for循环
for循环的操作较为灵活,因为我们可以自己决定循环的次数,for循环的结构为:
for(初始表达式;布尔表达式;条件变化语句){
循环体;
}
a.各语句 作用如下:
1.初始表达式:声明一个变量i并进行赋值;
2.布尔表达式:对声明的变量进行判断是否满足某种关系,返回值为boolean型;
3.迭代因子:变量i的变化;
4.循环体:我们要循环执行的语句.
需要注意的是,我们声明的这个变量i是属于for循环的,在for循环之外访问不到.
b.for循环执行流程:
1.执行初始表达式,声明并初始化变量i;
2.执行布尔表达式,对变量的值进行判断,若返回的为true就执行循环体,否则退出循环;
3.执行条件变化语句
就这样重复执行第二步跟第三步,直到退出循环.
c.例子:
//打印1~10之间的正数
for(int i=1;i<=10;i++){
System.out.print(i+" ");
}
打印结果就为:
1 2 3 4 5 6 7 8 9 10
2.while循环
while循环是一种条件循环,若while(条件判断)中的判断返回的值为true,就执行循环体,否则不执行,
while循环的结构为:
条件初始化;
while(条件判断){
循环体;
条件变化语句;
}
a.各语句的作用:
条件初始化:声明并初始化变量i;
条件判断:对变量i进行判断,看返回值是否为true,若为true就执行循环体,若不是就不执行
循环体:要循环执行的语句;
条件变化语句:跟for循环中的变化语句一样,都是改变变量i的值
b.语句执行流程:
1.先执行初始条件语句,初始化变量值;
2.然后判断i是否满足条件判断,满足就执行循环体,不满足就退出循环
3.执行条件变化语句,改变i的值
重复执行2,3两步,直至跳出循环.
c.例子:
//打印1~10之间的正数
int i=1;
while(i<=10){
System.out.print(i+" ");
i++
}
打印结果就为:
1 2 3 4 5 6 7 8 9 10
3.do...while循环
while循环是先进行判断,在执行循环体;do...while循环是先执行循环体再判断
do...while循环的格式为:
条件初始化;
do{
循环体;
条件变化语句;
}while(条件判断);
do...while循环中的语句跟while循环中的语句意思相同,就是语句的执行顺序不同,是先执行do里面的,在执行条件判断.
4.break和continue
在循环中,我们可能在循环到某一步时就不要再执行循环了,或者本次的循环不需要再往下执行了,这个时候我们就可以使用break和continue关键字.
break:
应用场景:switch语句 循环
作用:终止 结束.在循环中就是整个循环不在执行,比如在上面的for循环中,如果我们在 执行到i==4时就不想再往下执行了,此时就可以使用break终止整个循环,就算后面还有 [6,10],我们也不再执行.
例子:
for(int i=1;i<=10;i++){
if(i==4){
break;
}
System.out.print(i+" ");
}
结果为:
1 2 3
continue:
应用场景:循环
作用:结束本次循环,直接进入下一次循环
例子:
for(int i=1;i<=10;i++){
if(i==4){
continue;
}
System.out.print(i+" ");
}
结果为:
1 2 3 5 6 7 8 9 10
5.循环嵌套
有时一层循环并不能满足我们的需求,这个时候我们就可以使用循环嵌套.
对for循环举例:
for(初始条件1;条件判断1;条件变化1){
//代码1
for(初始条件2;条件判断2;条件变化2){
//代码2
}
//代码3
}
这样我们在执行了初始条件1,条件判断1,代码1之后就可以执行里面的那层for循环,当里层for循环执行完后,就会执行代码3,然后执行条件变化1,就这样循环,我们可以把里层for循环看做是外层for循环的循环体,这样就可以很好理解双层循环.
外层循环执行一次,内层循环执行一轮.