Java中for循环嵌套以及循环的中断
很多初学者到for循环这里就学不会了,今天,我来讲解一下for循环以及嵌套循环,还有中断。
单层for循环语句:
for(赋值条件; 判断条件; 赋值增减量){
语句1;
......
语句n;
}
若在循环主体中要处理的语句只有一个,可以将大括号省去。
下面列出单层for循环的流程:
- 第一次进入for循环时,要为循环控制变量赋初始值。
- 根据判断条件的内容检查是否要继续执行循环,当判断条件之为真时,继续执行循环主体内的语句,判断条件值为假时,则会跳出循环,执行其他语句。
- 执行完循环主体内语句后,循环控制变量会根据增减量的要求更改循环控制变量的值,然后再回到步骤2,重新判断是否继续执行循环。
public class ForDemo{ public static void main(String[] args){ int sum = 0; for (int i =1;i<=10;i++){ sum += i; } } }
双层for循环语句:
for(赋值条件; 判断条件; 赋值增减量){
for(赋值条件; 判断条件; 赋值增减量){
语句1;
......
语句n;
}
}
通过9*9乘法表来解释
public class DoubleForDemo{ public static void main(String[] args){ for(int i = 1 ; i<=9;i++){ for(int j=1;j<=i;j++){ Systerm.out.print(i+"*"+j+"="+(i*j)+" "); } Systerm.out.println(" "); } } }
说明:
- i为外层循环的循环控制变量,j为内层循环的循环控制变量。
- 当i为1时,符合外层for循环的判断条件(i<9),进入另一个内层for循环主体,由于是第一次进入内层循环,所以j的初值为1,符合内层for循环的判断条件值(j<=1),进入循环主体,输出i*j的值(1*1=1),如果最后j的值仍然符合内层for循环的判断条件(j<=i),则再次执行计算与输出的工作,知道j的值大于i时,离开内层for循环,回到外层循环。此时,i会+1成为2,符合外层for循环的判断条件,继续执行内层for循环主体,知道i的值大于9时离开嵌套循环。
循环的中断:
break语句
可强迫中断循环,当程序执行到break语句时,即会离开循环,继续执行循环外的下一个语句,如果break语句出现在嵌套循环中的内层循环,则break语句只会跳出当前循环。
public class BreakDemo{ public static void main(String[] args){ for(int i = 0 ; i<=9;i++){ if(i==3){ break; } Systerm.out.println(" "); } } }
i = 0 i = 1 i = 2
continue语句
可以强迫程序调到循环的起始处,当程序运行到continue语句时,会停止运行剩余的循环主体,而是回到循环的开始出继续运行。在下面的for循环中,在循环主体中有continue,当运行到continue时,就会回到起点,继续执行循环主体的部分语句。public class ContinueDemo{ public static void main(String[] args){ for(int i = 0 ; i<=5;i++){ if(i==3){ continue; } Systerm.out.println(" "); } } }
i = 0 i = 1 i = 2 i = 4 i = 5当i的值为3时,程序并没有向下执行输出语句,而是退回到了循环判断出继续向下执行,所以continue只是中断了一次循环操作。
其他要点:
- Java的数据类型可分为基本数据类型和引用数据类型
- 数据类型的转换可分为“自动类型转换”和“强制类型转换”
- 在循环中可以声明变量,但声明的变量只是局部变量,只要跳出循环,这个变量便不能再使用。