Java三百行狂练第9天
第9天:while语句
代码如下:
package work;
/**
* the ninth code
* @author yanfang
*/
public class WhileStatement {
public static void main(String args[]) {
whileStatementTest();
}
public static void whileStatementTest() {
int tempMax = 100;
int tempValue = 0;
int tempSum = 0;
//approach1
while(tempSum <=tempMax) {
tempValue++;
tempSum += tempValue;
System.out.println("tempValue = " + tempValue + ", tempSum = " + tempSum);
}
tempSum -= tempValue;
System.out.println("The sum not exceeding " + tempMax + " is: " + tempSum);
//approach2
System.out.println("\r\nALternative approach.");
tempValue = 0;
tempSum =0;
while(true) {
tempValue++;
tempSum += tempValue;
System.out.println("tempValue = " + tempValue + ", tempSum = " + tempSum);
if(tempMax < tempSum) {
break;
}
}
tempSum -= tempValue;
System.out.println("The sum mot exceeding " + tempMax + " is: " + tempSum);
}
}
运行结果为
tempValue = 1, tempSum = 1
tempValue = 2, tempSum = 3
tempValue = 3, tempSum = 6
tempValue = 4, tempSum = 10
tempValue = 5, tempSum = 15
tempValue = 6, tempSum = 21
tempValue = 7, tempSum = 28
tempValue = 8, tempSum = 36
tempValue = 9, tempSum = 45
tempValue = 10, tempSum = 55
tempValue = 11, tempSum = 66
tempValue = 12, tempSum = 78
tempValue = 13, tempSum = 91
tempValue = 14, tempSum = 105
The sum not exceeding 100 is: 91
ALternative approach.
tempValue = 1, tempSum = 1
tempValue = 2, tempSum = 3
tempValue = 3, tempSum = 6
tempValue = 4, tempSum = 10
tempValue = 5, tempSum = 15
tempValue = 6, tempSum = 21
tempValue = 7, tempSum = 28
tempValue = 8, tempSum = 36
tempValue = 9, tempSum = 45
tempValue = 10, tempSum = 55
tempValue = 11, tempSum = 66
tempValue = 12, tempSum = 78
tempValue = 13, tempSum = 91
tempValue = 14, tempSum = 105
The sum mot exceeding 100 is: 91
小结
while循环,当条件满足时,会不断地重复循环体内的语句;
在循环执行之前先判断循环条件是否成立,条件成立就继续循环,有可能循环一次也没有执行;
while(true)可以无限循环,需要在循环内使用break才会停止,所以必须在循环语句内部加入一个判断 ,当达到了这个判断条件就会跳出循环
do-while 循环,先执行循环体,然后判断循环条件是否成立。