循环结构特点:
①循环不是无休止进行的,满足一定条件的时候循环才会继续,称为“循环条件”,循环条件不满足时退出循环。
②循环结构是反复进行相同的或类似的一系列操作,称为“循环操作”。
while循环
while循环先判断再执行,循环条件不满足时循环操作一次也不执行,即while循环可能执行的次数为0。
1.语法:
while(循环条件){
//循环操作
}
注意:循环条件是一个表达式,值为boolean类型
2.使用while循环结构解决问题的步骤:
①分析循环条件和循环操作
②套用while语法写代码
③检查循环是否能退出(避免“死循环”现象)
3.执行原理:
先判断循环条件
①为true时:执行循环操作–>判断循环条件–>结果为true则继续执行循环操作–>结果为false则退出循环
②为false时:结束循环
do-while循环
do-while循环先执行一遍循环操作,再进行判断。即不管在什么情况下循环操作至少执行一遍,即do-while循环执行次数至少为1。
语法:(语句最后的分号一定不能少)
do{
//循环操作
}while(循环条件);
应用场景:在大部分时间可以相通,但需要先执行一次操作的时候,用do-while循环。
for循环
通常在循环次数确定的情况使用for循环。
1.循环结构:初始部分、循环体、迭代部分、循环条件
2.语法:(三个表达式必须用分号隔开)
for(表达式1;表达式2;表达式3){
//循环体(要重复执行的代码)
}
注意:
在语法上,这三个表达式都可以省略,但表达式后面的分号不能省略。
省略表达式1时,需要在for语句前给循环变量赋值;
省略表达式2时,不会判断循环条件,循环将无休止运行,即“死循环”,修改:添加表达式2 或者 在循环体中使用break强制跳出循环结构;
省略表达式3时,变量始终为一个值,循环条件永远成立,形成“死循环”,修改:在循环体中改变变量的值;
省略三个表达式时,语法上没错,逻辑上是错误的。
3.表达式功能:
表达式 | 形式 | 功能 | 举例 |
---|---|---|---|
表达式1(初始化表达式) | 赋值语句 | 循环结构的初始条件,为循环变量赋初值(声明一个变量,赋初始值) | int i = 0 |
表达式2(条件表达式) | 条件语句 | 循环结构的循环条件(对表达式1声明的变量进行判断,看表达式1声明的变量是否满足一定的条件) | i<100 |
表达式3 | 赋值语句,通常使用++或- -运算符 | 循环结构的迭代部分,通常用来修改循环变量的值(对表达式1声明的变量进行改变值 ++ --) | i++ |
4.执行顺序:
①执行初始部分(int i = 0;)
②进行循环条件判断(i<100;)
③根据循环条件判断结果。如果为true,则执行循环体;如果为false,则退出循环,步骤④和步骤⑤均不循环
④执行迭代部分,改变循环变量值(i++)
⑤依次重复步骤②——步骤④,直到退出for循环结构
注意:表达式1这个初始部分仅执行一次
foreach循环
加强for循环,用来快速遍历数组或集合中的内容,不能数组操作角标
语法:
for(数组名 变量:数组或集合){//将数组或集合里的值遍历给变量
//循环体
}
示例:
String f="";
int arr[]=new int[]{2,3,8,0,7};
int arr1[]=new int[]{2,0,1,3,4,1,0,3,0,0,1};
for(int i:arr1){
f+=arr[i];
}
System.out.println(f);
//以上代码输出结果为:82307320223