第九章 二重循环
一、回顾3种循环结构
1、while
l 语法
条件表达式的初始值;
while(条件表达式){
循环操作;
更改条件表达式的语句;
}
l 特点:先判断,再执行,有可能一次循环都没有
l 适用的场合:循环次数未知
l 表现形式
n 第一种:循环的次数确定
u 条件表达式,判断整型的变量在某个范围
u while(i<=5){ //不需要接收用户输入}
n 第二种:循环次数不限,用户输入某个值结束循环
u 条件表达式,根据用户输入的值进行判断
u while(用户输入的值和某个值做比较){
如输入0或(yes/no)结束循环
u }
2、do…while
l 语法
条件表达式的初始值;
do{
循环操作;
更改条件表达式的语句;
}while(条件表达式);
l 特点:先执行,再判断,至少循环1次
l 适用场合,同while循环
l 表现形式,同while循环
3、for
l 语法
for(初始值;条件表达式;迭代部分){
//循环操作
}
l 特点:同while循环,都先判断,再执行,有可能1次循环都不执行
l 适用场合:循环次数固定
二、循环中常见的2个语句
break——终止循环(循环未完毕时,提前结束循环)
continue——结束本次循环,进入下一次循环
三、回顾数组(步骤*)
1) 声明数组
数据类型【】数组名;
【】也可以放到数组名后面
2) 为数组分配空间(长度)
方式1:【长度】来分配空间,元素只有默认值
数据类型[]数组名=new 数据类型[长度];
int类型的数组,元素的默认值为0
String类型的数组,默认值为null
方式2:根据值的个数,确定已分配的空间
数据类型[] 数组名={值列表};
int[]nums={1,2,3};
方式3:根据值的个数,确定已分配的空间
数据类型[] 数组名=new 数据类型[]{值列表};
int [] nums= new int[]{1,2,3};
3) 为数组赋值
4) 处理数组中的数据
遍历数组,一般情况都采用for循环取值或动态赋值
for(int 变量=初始值; 条件表达式; 变量变更){
根据下标取值,下标>=0且下标<数组名. length }
四、二重循环
1、循环中,嵌套另外一个循环,将内层的循环,看成外层循环的一个循环操作
2、常见的二重循环
形式1: 外层while或do…while
内层为for循环
形式2:外层、内层都是for循环
形式3:外层为for循环,内层为while或do…while
3、二重循环的执行顺序
1、首先执行1次外层循环;
2、进入外层循环后,必须要将内层循环全部循环完毕,
才继续进行外层的第2….N次循环。
五、二重循环中的continue和break【最近原则】
1、continue:结束离它【最近的循环结构】的本次循环,进入该循环结构的下一次循环
2、break:终止离它【最近的循环结构】的循环
六、二重循环常见方式
1、for循环相互嵌套
for( ){
for(){
}
……………………..
}
2、for循环中,嵌套while或do…while
for(){
while(){
}
或
do{
}while();
}