while (condition) {
statements
}
例題:複利DoublInv.java (原始碼)
例題: 階乘WhileFac.java (原始碼) 中 n=0 的情形。
例題: 極大MaxSal.java
(原始碼)
此例利用 ccj 中的類別 Employee。
i = start;
while ( i <= end ) {
...
i++;
}
這種特定的迴圈形式,用 for 表示更為簡潔,如
for ( i = start; i <= end; i++ ) {
...
}
例題: 改用 for 的階乘Forfac.java (原始碼)
do {
statements
} while (condition);
例題: Sqroot.java (原始碼)
while (true) {
statements
}
不斷地執行主體。 通常在主體中會有測試是否終止的敘述。 例如,
public static double squareRoot(double a) {
double xnew = a/2;
while (true) {
double xold = xnew;
xnew = (xold + a/xold) /2;
if (Numeric.compareDoubles(xnew, xold) == 0) return xnew;
}
}
boolean done = false;
while (!done) {
read data
if (Console.in.fail())
done = true;
else {
process data
}
}
例題: Words.java (原始碼)
例題:
例題:
Numeric.randomInt(a,b) 產生 a 和 b 之間的亂整數
Numeric.randomDouble(a,b) 產生 a 和 b 之間的亂浮點數
例題: Dice.java
(原始碼)
public static void main(String[] args) {
...
double rate;
for (...) {
int year;
...
for (...) {
double balance;
...
}
...
}
...
}
例題:Grid.java
(原始碼)