数据类型4
while语句既是循环语句也是条件判断语句,用于位置循环次数的情况。只有在判断条件为真的情况下会一直循环。如果判断条件不成立则一次也不会循环。与此有别的是do……while语句,不论条件成立与否都会执行一次循环主体。如果循环主体只有一个语句可以将大括号省去。例子:
public class Demo{
public static void main(String[] args){
int x = 1;
do {
x++;
} while (x <= 10);
System.out.println(x);
}
}
结果为10
for语句则是已知循环次数的循环语句。格式为
for (赋值初值;判断条件;赋值增减量){
循环的语句;
}
上个例子用for语句来表示:
public class Demo{
public static void main(String[] args){
int y = 0;
for (int x = 1; x <= 10; x++) {
y = x;
}
System.out.println(y);
}
}
结果为10
循环有时候需要嵌套操作,如打印一份九九乘法表:
public class Demo{
public static void main(String[] args){
for (int x = 1; x <= 9; x++){
for (int y = 1; y <= x; y++){
System.out.print(x + "*" + y + "=" + (x * y) + "\t");
}
System.out.print("\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
利用break语句可以终止循环语句 如让乘法表只算到3
public class Demo{
public static void main(String[] args){
for (int x = 1; x <= 9; x++){
for (int y = 1; y <= x; y++){
System.out.print(x + "*" + y + "=" + (x * y) + "\t");
}
System.out.print("\n");
if (x >= 3) {
break;
}
}
}
}
结果为
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
而continue语句可以强迫程序跳到循环的起点,如让乘法表不算3
public class Demo{
public static void main(String[] args){
for (int x = 1; x <= 9; x++){
if (x == 3){
continue;
}
for (int y = 1; y <= x; y++){
System.out.print(x + "*" + y + "=" + (x * y) + "\t");
}
System.out.print("\n");
}
}
}
结果为
1*1=1
2*1=2 2*2=4
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