JAVA之循环
一、for
for循环的结构为:
for(初始化条件;条件判断;条件变化){
执行语句;
}
执行流程:
1.条件初始化:声明一个变量,并且赋值
2.条件判断:如果结果为true,执行{}中的语句;如果结果为false,结束for循环
3.条件变化:自身呢个的值的变化
4.第一次执行完满足条件执行第二次循环,重复执行2,3步,直到不满足条件判断为止。
//求1-10之间的和
int sum=0;//和初始为0
for(int i=1;i<=10;i++){//遍历1-10的数
sum+=i;//sum=sum+i,每得到一个i,就给sum加上并赋值给sum
}
二、while
while循环的结构为:
条件从初始化;
while(条件判断){
语句体;
条件变化;
}
for循环是次数循环,while循环是条件循环。
//求1-10之间的和
int i=1;
int sum=0;//两个条件初始化
while(i<=10){//执行条件判断
sum+=i;//执行语句
i++;
}
三、do…while
do…while循环的结构为:
条件初始化;
do{
循环体语句;
条件变化;
}while(判断条件);
do…while无论是否满足条件,都至少执行一次。
//求1-10之间的和
int i=1;
int sum=0;
do{
sum+=i;
i++;
}while(i<=10);
System.out.println(sum);
四、break与continue
1.break
break意为结束、终止、停止,可以在循环或者switch语句中使用
当while循环永远执行的时候,需要break来停止。
比如说,要完成一个功能,不知道什么时候开始,但是知道什么时候结束,这时就使用break来结束程序。
//击鼓传花
//模拟敲鼓的人 使用随机数决定在哪个人手里停止(假定有40人)
int x=(int)(Math.random()*(40-1+1)+1);
int i=1;//模拟从第一个人开始
while(true){//一直可以执行程序
i++;
if(i==x){
System.out.println("游戏结束,中奖的人编号为:"+i);
break;//结束程序
}
}
2.continue
continue意为结束本次循环,进入下一次循环,只能在循环中使用
//1~10之间,遇到3或者3的倍数就跳过,其他打印
for(int i=1;i<=10;i++){//遍历1-10的数
//当i遍历到3对3取余等于0时,结束本次循环,不执行输出语句,进入第四次循环,其它满足条件的值出现则同理
if(i%3==0){
continue;
}
System.out.println(i);
}
五、嵌套循环
多个循环嵌套使用,循环里面有循环,当外层循环执行一次时,内层循环需要执行一轮。
for(条件初始化;条件判断;条件变化){
执行代码
for(条件初始化;条件判断;条件变化){
执行代码
}
执行代码
}
例如:输出一下图形
/*
* * * *
* * * *
* * * *
* * * *
*/
//外层循环i控制行
for(int i=1;i<=4;i++){
//内层循环j控制列
for(int j=1;j<=4;j++){
System.out.print("* ");
}
System.out.println();
}
可以多个循环嵌套,但是嵌套越多越复杂。