关键字break和continue
除了在switch语句中使用break,还可以在一个循环中使用break立即终止该循环.
循环语句有三类: while循环, do-while循环和for循环.
循环中需要重复执行的语句所构成的整体称为循环体.
循环体执行一次称为循环的一次迭代.
无限循环是指循环语句被无限次执行.
在设计循环时,既考虑循环控制结构体,还需要考虑循环体.
while循环首先检查循环继续条件.如果条件为true,则执行循环体;如果条件为false,则循环体结束.
do-while循环与while循环类似,只是do-while循环先执行循环体,然后在检查循环继续条件,以确定是继续还是终止.
由于while循环和do-while循环都包含循环继续条件,这个条件是和循环体相关的,重复的次数就是由循环体决定的.因此,while循环和do-while循环常用语循环次数不确定的情况.
标志值是一个特殊的值,用来标志循环的结束.
for循环一般用在循环体执行次数预知的情况,这个次数不是有循环体确定的.
for循环由三部分组成.第一部分是初始操作,通常用于初始化控制变量.第二部分是循环继续条件,决定是否执行循环体.第三部分是每次迭代后执行的操作,经常用于调整控制变量.通常,在控制结构中初始化和修改循环控制变量.
while循环和for循环都称为前测试循环(pretest loop),因为在循环体执行之前,要检测一下循环继续条件.
do-while循环称为后测试循环(posttest loop),因为在循环体执行之后,要检测一下这个条件.
在循环中可以使用关键字break和continue.
关键字break立即终止包含break的最内层循环.
关键字continue只是终止当前迭代.
packagewelcome;/** 使用嵌套for循环打印一个乘法表*/
public classMultiplicationTable {public static voidmain(String[] args) {
System.out.println(" Multiplication Table"); //显示标题
System.out.print(" ");for(int j = 1; j < 10; j++){
System.out.print(" " + j); //显示从1到9的数字
}
System.out.println("\n----------------------------------------"); //显示横线
for(int i = 1; i < 10; i++){
System.out.print(i+ " | ");for(int j = 1; j < 10; j++){
System.out.printf("%4d", i * j); //在内层循环中,随着每个i,j取遍1,2,3,..,9,内层循环在每一行显示乘积i*j的值
}
System.out.println();
}
}
}
packagewelcome;public classTestSum {public static voidmain(String[] args) {double sum = 0;int count = 0;for(double i = 0.01; i <= 1.0; i = i + 0.01){
sum+=i;
count++;
System.out.println(count+ " " +i);
}
System.out.println("The sum is " +sum);
sum= 0;double currentValue = 0.01;for(int i = 0; i < 100; i++){
sum+=currentValue;
currentValue+= 0.01;
}
System.out.println(sum);
}
}
packagewelcome;public classTestBreak {public static voidmain(String[] args) {int sum = 0;int number = 0;while(number < 20){//number++;
sum += ++number;//number++;
if(sum > 100){break;
}
}
System.out.println("The number is " +number);
System.out.println("The sum is " +sum);
}
}
packagewelcome;public classTestContinue {public static voidmain(String[] args) {int sum = 0;int number = 0;while(number < 20){
number++;if(number == 10 || number == 11)continue; //当number为10或11时,就会执行continue语句,continue结束了当前迭代,就不再执行循环体中的其他语句.
sum += number; //将1到20中除去10和11之外的整数都加到sum中
}
System.err.println("The sum is " +sum);
}
}