1.概述
在满足循环条件的情况下,反复执行某一段代码,被重复执行的代码称为循环体语句。当反复执行这个循环时,需要在某一时刻将循环判断条件修改为false,以结束循环,否则循环将一直执行下去,形成死循环。
2.for
格式
for(初始化表达式①;布尔表达式②;步进表达式④){
循环体③
}
执行流程
执行顺序:①②③④==>②③④==>②③④…②不满足为止
①完成循环变量初始化;
②判断是否满足循环条件,不满足就跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
示例
public static void main(String[] args) {
//打印1~100
for (int i=1;i<=100;i++){
System.out.println("这次打印的是:"+i);
}
}
3.while
格式
初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}
执行流程
执行顺序:①②③④==>②③④==>②③④…②不满足为止
①完成循环变量初始化;
②判断是否满足循环条件,不满足就跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
示例
public static void main(String[] args) {
//打印1~100
int i=1;
while (i<=100){
System.out.println("这次打印的是:"+i);
i++;
}
}
4.do...while
格式
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②)
执行流程
执行顺序:①③④==>②③④==>②③④…②不满足为止
①完成循环变量初始化;
②判断是否满足循环条件,不满足就跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
示例
public static void main(String[] args) {
//打印1~100
int i=1;
do{
System.out.println("这次打印的是:"+i);
i++;
}while(i<=100);
}
5.练习
问题
求1~100的和
代码
public static void main(String[] args) {
int result=0;
for (int i=1;i<=100;i++){
result+=i;
}
System.out.println(result);
}
6.三种循环的区别
①如果条件判断从来没有满足过,for循环和while循环将会执行0次,do…while循环将会执行1次;
②for循环的变量在小括号中定义,只有循环内部才可以使用;while和do…while循环初始化语句在外面,所以循环完成后还可以使用。
7.break
用法
①可以用在switch语句中,一旦执行,整个switch语句立刻结束;
②可以用在循环语句中,一旦执行,整个循环语句立刻结束,打断循环。
示例
public static void main(String[] args) {
for (int i=1;i<=10;i++){
System.out.println(i);
if (i==5){
break;
}
}
}
8.continue
一旦执行,立刻跳过该次循环剩余内容,马上开始下一次循环。
public static void main(String[] args) {
for (int i=1;i<=10;i++){
if (i%2==0){
continue;
}
System.out.println(i);
}
}
9.循环嵌套
一个循环体是另一个循环。例如for循环中还有for循环。
格式
for(初始化表达式①;循环条件②;步进表达式⑦){
for(初始化表达式③;循环条件④;步进表达式⑥){
执行语句⑤;
}
}
执行流程
执行顺序①②③④⑤⑥==>④⑤⑥==>⑦②③④⑤⑥==>④⑤⑥
外循环一次,内循环多次
public static void main(String[] args) {
//打印8*8矩阵
for (int i=1;i<=8;i++){
for(int j=1;j<=8;j++){
if (j<8){
System.out.print((i-1)*8+j+"\t");
}else{
System.out.println((i-1)*8+j);
}
}
}
System.out.println("=======================================");
}