Java多重循环
多重循环是循环的嵌套,即一个循环体内包含另一个完整的循环结构。
一、多重循环
while(循环条件1){
循环体1;
while(循环条件2){
循环体2;
}
}
do{
循环体1;
do{
循环体2
}while(循环条件2);
}while(循环条件1);
for(循环条件1){
循环体1;
for(循环条件1){
循环体2;
}
}
在这里插入代码片
while(循环条件1){
循环体1;
for(循环条件2){
循环体2;
}
}
注意:
1,循环结构可以任意相互嵌套;
2,循环一般不超过三层;
3,外层循环一次,内层循环一遍;
4,定义变量的时候注意变量作用的区域;
5,内层循环定义的变量,在外层循环不可使用,外层循环声明的变量,内层循环可以使用。
例如:打印三角形
打印5*5的三角形
//直角边在左下角
for (int i = 0; i < 5; i++) { //该循环控制打印行数
for (int j = 0; j <= i; j++) { //该循环控制每行打印*的个数,与行数一致所以边界是i
System.out.print("*");
}
System.out.println(" ");
}
运行:
*
* *
* * *
* * * *
* * * * *
//直角边在右上角
for (int i=0;i<5;i++) { //该循环控制打印行数
for (int j=0; j<=i-1; j++) { //该循环控制每行打印空格数,i进入此循环至少值为1
System.out.print(" ");
}
for (int j = 0; j<5-i; j++) { //该循环控制每行打印*的个数,与行数一致所以边界是5-i
System.out.print("* ");
}
System.out.println();
}
运行:
* * * * *
* * * *
* * *
* *
*
// 直角边在左上角
for (int i = 0; i <5; i++) { //该循环控制打印行数
for (int j = 0; j <=4-i; j++){
System.out.print("* ");
}
System.out.println();
}
运行:
* * * * *
* * * *
* * *
* *
*
//直角边在右下角
for (int i = 0; i <5 ; i++) { //该循环控制打印行数
for(int j = 0; j <4-i ; j++) {
System.out.print(" ");
}
for (int j = 0; j<=i ; j++) {
System.out.print("* ");
}
System.out.println();
}
运行:
*
* *
* * *
* * * *
* * * * *
二、跳转语句
- break语句
break语句在循环中的作用是终止当前循环,执行当前循环后的语句。
例如:
1020个瓜,一天卖一半多2,问经过几天卖完?
public static void main(String[] args) {
int num=1020;
int day=0;
while(true){
if(num==0){
break;
}
num=num/2-2;
day++;
}
System.out.println("经过"+day+"天卖完");
}
运行:
经过8天卖完
- continue语句
continue语句的作用是强制循环提前返回,也就是让循环跳过本次循环中的剩余代码,直接开始下一次循环,另该语句只应用在循环语句中。
例如:
输出1-20中能被6整除的数字
for(int i=1;i<=20;i++){
if(i%6!=0){
continue;
}
System.out.print(i+"\t");
}
运行:
6 12 18
- return语句
return语句的作用是结束当前方法的执行并退出返回到调用该方法的语句处。
例如:
输出1-5中3以下的数字
for(int i=1;i<5;i++){
if(i-3>0){
return;
}
System.out.print(i+"\t");
}
运行:
1 2 3