1.1.1.1 for循环
对于while和do…while两种循环来讲,操作时并不一定要明确地知道循环的次数,而如果开发者已经明确地知道了循环次数,那么就可以使用另外一种循环语句——for循环。
for循环语句格式:
for(赋值初值:判断条件:赋值增减量){
语句1;
…
语句n;
}
若是在循环主体中要处理的语句只有一个,可以将大括号省去。下面列出了for循环的流程:
(1)第一次进入for循环时,要为循环控制变量赋起始值。
(2)根据判断条件的内容检查是否要继续执行循环,当判断条件值为真真时,继续执行循环主体内的语句:判断条件值为假时,则会跳出循环,执行其他语句。
(3)执行完循环主体内的语句后,循环控制变量会根据增减量的要求更改循环控制变量的值,然后再回到步骤(2)重新判断是否继续执行循环。
使用for循环完成累加操作:
class ForDemo{
public static void main(String[] args) {
int sum = 0;
for (int x = 1; x <= 10; x++) {
sum += x;
}
System.out.println("1到10的累加结果为:" + sum);
}
}
运行结果:
1到10的累加结果为:55
1.1.1.2 循环的嵌套
多个循环语句是可以嵌套操作的,如果现在要打印一个九九乘法表,则肯定要使用两层循环完成。
打印九九乘法表:
class ForNestedDemo{
public static void main(String[] args) {
for(int i = 1; i <= 9; i++){
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + (i*j) + " ");
}
System.out.println("\n");
}
}
}
运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
求老鸟讲下这个是怎么实现的,想的有点晕。
1.1.1 循环的中断
在Java语言中,可以使用如break、continue等中断语句。
1. break语句
break语句可以强迫程序中断循环,当程序执行到break语句时,即会离开循环,继续执行循环外的下一个语句,如果break语句出现在嵌套循环中的内层循环,则break语句只会跳出当前层的循环。以下面的for循环为例,在循环主体中有break语句时,当程序执行到break时,会离开循环主体,而继续执行循环外层的语句。
class BreakDemo{
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 3) {
break;
}
System.out.println("i = " + i);
}
}
}
运行结果:
i = 0
i = 1
i = 2
2. continue语句
continue语句可以强迫程序跳到循环的起始处,当程序运行continue语
句时,会停止运行剩余的循环主体,而是回到循环的开始继续运行。在下面的for循环中,在循环主体中有continue语句,当执行到continue时,就会回到循环的起点,继续执行循环主体的部分语句。
class ContinueDemo{
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 3) {
continue;
}
System.out.println("i = " + i);
}
}
}
运行结果:
i = 0
i = 1
i = 2
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
局部变量:
在循环语句中定义的变量属于局部变量,所谓的局部变量是指此变量只能在循环语句中使用,而在循环语句之外则无法使用。